Professional Documents
Culture Documents
Aleksander Byrski
Katedra Informatyki
Akademia Górniczo-Hutnicza w Krakowie
olekb@agh.edu.pl
Wstep.
˛
Wzorce projektowe (studium przypadku).
Wzorce architektoniczne.
Antywzorce.
– Freeman Dyson
Ogólne rozwiazanie
˛ cz˛esto spotykanego problemu w
specyficznym przypadku.
Wzorce powstaja˛ z doświadczenia ekspertów w danej dziedzinie.
Podstawowe elementy opisu wzorca:
nazwa – używana w celu jednoznacznej identyfikacji, uwspólnienia
jezyka,
˛
problem – opis problemu, który może być rozwiazany,
˛ lista
warunków, które musza˛ być spełnione, aby stosowanie wzorca
miało sens
rozwiazanie
˛ – elementy składajace
˛ sie˛ na projekt, ich zwiazki,
˛
zobowiazania
˛ i współprace,
˛ nie opisuje konkretnego projektu –
stanowi pewien szablon
konsekwencje – zyski i straty, wady i zalety stosowania wzorca.
Wzorzec stanowi pewnego rodzaju forme,
˛ z którego powstaje
gotowy moduł systemu (np. komponent).
Strukturalne
Zastosowanie: Łaczenie
˛ istniejacych
˛ obiektów.
Przykłady: Adapter, Decorator, Facade, Composite, Bridge, Proxy,
Flyweight.
Behawioralne
Zastosowanie: Umożliwianie elastycznych zmian zachowania.
Przykłady: Interpreter, Iterator, Chain of responsibility, Mediator,
Template method, Observer, Visitor, Memento, Command, State,
Strategy.
Kreacyjne
Zastosowanie: Ułatwianie tworzenia obiektów
Przykłady: Builder, Abstract factory, Factory method, Prototype,
Singleton.
Rozwiazanie:
˛ połaczenie
˛ programów
realizujacych
˛ algorytmy za pomoca˛
zunifikowanego interfejsu.
Przykłady: komunikacja
miedzyprocesowa
˛ w UNIX/Linux.
Rozwiazanie:
˛ umiejscowienie danych w
jednym miejscu w ustandaryzowanej
formie, umożliwienie podsystemom
(komponentom, agentom) pobieranie
danych, przetwarzanie ich i
umieszczanie wyników przetworzenia na
tablicy.
Konsekwencje: Łatwość zarzadzania
˛
tablica˛ ze wzgledu
˛ na całkowita˛
niezależność od operatorów. Na tablicy
nie umieszcza sie˛ informacji, które nie
pochodza˛ z analizy danych na niej
Problem: konieczność operacji na zawartych.
danych pochodzacych
˛ z różnych źródeł Przykłady: analiza danych w
bez spójnej strategii. środowiskach agentowych.
Pierwszy sposób: oczywiście projekt należy tak uprościć, aby nie było
w nim żadnych wad.
Drugi sposób: projekt należy tak skomplikować, aby nie było w nim
żadnych oczywistych wad.
– C.A.R. Hoare