Rodzaje wzorów:
- kreacyjny
- strukturalny
- behawioralny
Twórczy:
-
Singleton — ogranicza tworzenie klasy do pojedynczej instancji i zapewnia dostęp do tej pojedynczej instancji.
-
Fabryczna — używana, gdy mamy nadklasę z wieloma podklasami i musimy zwrócić podklasę na podstawie danych wejściowych.
-
Fabryka abstrakcyjna — wykorzystuje super fabrykę do tworzenia fabryk, których następnie używamy do tworzenia obiektów.
-
Konstruktor — służy do tworzenia złożonych obiektów przy użyciu prostych obiektów. Stopniowo tworzy duży obiekt z małego, prostego obiektu.
-
Prototyp — pomaga poprawić wydajność podczas tworzenia duplikatów obiektów; zamiast tworzyć nowy obiekt, tworzy i zwraca klon istniejącego obiektu.
Strukturalny:
-
Adapter — konwerter między dwoma niekompatybilnymi obiektami. Możemy użyć wzorca adaptera do połączenia dwóch niekompatybilnych interfejsów.
-
Composite — używa jednej klasy do reprezentowania struktury drzewa.
-
Proxy — zapewnia funkcjonalność innej klasy.
-
Flyweight — ponownie wykorzystuje obiekty zamiast tworzyć dużą liczbę podobnych obiektów.
-
Fasada — zapewnia prosty interfejs dla klienta, który używa interfejsu do interakcji z systemem.
-
Bridge — uniezależnia określone klasy od klas implementujących interfejs.
-
Dekorator — dodaje nową funkcjonalność do istniejącego obiektu bez wiązania się z jego strukturą.
behawioralny:
-
Metoda szablonowa — definiuje podstawowy algorytm i umożliwia potomkom zastąpienie niektórych kroków algorytmu bez zmiany jego ogólnej struktury.
-
Mediator — zapewnia klasę pośredniczącą, która obsługuje całą komunikację między różnymi klasami.
-
Łańcuch odpowiedzialności — pozwala uniknąć ścisłej zależności między nadawcą a odbiorcą zapytania; ponadto żądanie może być przetwarzane przez kilka obiektów.
-
Obserwator — umożliwia jednemu obiektowi monitorowanie i reagowanie na zdarzenia zachodzące w innych obiektach.
-
Strategia — umożliwia zmianę strategii (algorytmów) w czasie wykonywania.
-
Polecenie — interfejs, który deklaruje metodę wykonania określonej akcji.
-
Stan — umożliwia obiektowi zmianę zachowania w zależności od jego stanu.
-
Gość — służy do uproszczenia operacji na grupach powiązanych obiektów.
-
Interpreter — definiuje gramatykę prostego języka w dziedzinie problemowej.
-
Iterator — sekwencyjnie uzyskuje dostęp do elementów kolekcji, nie znając ich podstawowej formy.
-
Memento — służy do przechowywania stanu obiektu; stan ten można później przywrócić.
Więcej czytania: |
---|