Wzorce konstrukcyjne:
Budowniczy - Oddziela tworzenie złożonego obiektu od jego reprezentacji, dzięki czemu ten sam proces konstrukcyjny może prowadzić do powstawania różnych reprezentacji.
Fabryka abstrakcyjna - Udostępnia interfejs do tworzenia rodzin powiązanych ze sobą lub zależnych od siebie obiektów bez określania ich klas konkretnych.
Metoda wytwórcza - Określa interfejs do tworzenia obiektów, przy czym umożliwia podklasom wyznaczenie klasy danego obiektu. Metoda wytwórcza umożliwia klasom przekazanie procesu tworzenia egzemplarzy podklasom.
Prototyp - Określa na podstawie prototypowego egzemplarza rodzaje tworzonych obiektów i generuje nowe obiekty przez kopiowanie tego prototypu.
Singleton - Gwarantuje, że klasa będzie miała tylko jeden egzemplarz i zapewnia globalny dostęp do niego.
Wzorce strukturalne:
Adapter - Przekształca interfejs klasy na inny, oczekiwany przez klienta. Adapter umożliwia współdziałanie klasom, które z uwagi na niezgodny interfejs standardowo nie mogą współpracować ze sobą.
Dekorator - Dynamicznie dołącza dodatkowe obowiązki do obiektów. Wzorzec ten określa interfejs wyższego poziomu ułatwiający korzystanie z podsystemów.
Kompozyt - Składa obiekty w struktury drzewiaste odzwierciedlające hierarchię typu część-całość. Wzorzec ten umożliwia klientom traktowanie poszczególnych obiektów i ich założeń w taki sam sposób.
Most - Oddziela abstrakcje od jej implementacji, dzięki czemu można modyfikować te dwa elementy niezależnie od siebie.
Pełnomocnik - Udostępnia zastępnik lub reprezentanta innego obiektu w celu kontrolowania dostępu do niego.
Pyłek - Wykorzystuje współdzielenie do wydajnej obsługi dużej liczby małych obiektów.
Wzorce operacyjne
Interpreter - Określa reprezentację gramatyki języka oraz interpreter, który wykorzystuje tę reprezentację do interpretowania zdań z danego języka.
Iterator - Zapewnia sekwencyjny dostęp do elementu obiektu złożonego bez ujawniania jego wewnętrznej reprezentacji.
Łańcuch zobowiązań - Pozwala uniknąć nadawcy żądania wiązania go z odbiorcą, ponieważ umożliwia obsłużenie żądania więcej niż jednemu obiektowi. Łączy w łańcuch obiekty odbiorcze i przekazuje między nimi żądanie do momentu obsłużenia go.
Mediator - Określa obiekt kapsułkujący informacje o interakcji między obiektami z danego zbioru. Wzorzec ten pomaga zapewnić luźne powiązanie, ponieważ zapobiega bezpośredniemu odwoływaniu się obiektów do siebie i umożliwia niezależne modyfikowanie interakcji między nimi.
Metoda szablonowa - Określa szkielet algorytmu i pozostawia doprecyzowanie niektórych jego kroków podklasom. Umożliwia modyfikację niektórych etapów algorytmu w podklasach bez zmiany jego struktury.
Obserwator - Określa zależność "jeden do wielu" między obiektami. Kiedy zmieni się stan jednego z obiektów, wszystkie obiekty zależne od niego są o tym automatycznie powiadamiane i aktualizowane.
Odwiedzający - Reprezentuje operację wykonywaną na elementach struktury obiektowej. Wzorzec ten umożliwia zdefiniowanie nowej operacji bez zmieniania klas elementów, na których działa.
Pamiątka - Bez naruszania kapsułkowania rejestruje i zapisuje w zewnętrznej jednostce wewnętrzny stan obiektu, co umożliwia późniejsze przywrócenie obiektu według zapamiętanego stanu.
Polecenie - Kapsułkuje żądanie w formie obiektu. Umożliwia to parametryzację klienta przy użyciu różnych żądań oraz umieszczenie żądania w kolejkach i dziennikach, a także zapewnia obslugę cofania operacji.
Stan - Umożliwia obiektowi modyfikację zachowania w wyniku zmiany wewnętrznego stanu. Wygląda to tak, że jakby obiekt zmienił klasę.
Strategia - Określa rodzinę algorytmów, kapsułkuje każdy z nich i umożliwia ich zamienne stosowanie. Wzorzec ten pozwala zmieniać algorytmy niezależnie od korzystających z nich klientów.
Brak komentarzy:
Prześlij komentarz