Wzorce w pigułce

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