Klasyfikacja wzorców
Wzorce projektowe różnią się między sobą złożonością, poziomem szczegółowości i skalą w jakiej da się je zaimplementować w projektowanym systemie. Podoba mi się analogia do budowy dróg: można uczynić skrzyżowanie bezpieczniejszym montując tylko sygnalizację świetlną, albo tworząc wielopoziomowe rozjazdy z podziemnymi przejściami dla pieszych.
Najbardziej podstawowe i niskopoziomowe wzorce są często nazywane idiomami. Zazwyczaj stanowią funkcjonalność jakiegoś języka programowania.
Najbardziej uniwersalnymi i wysokopoziomowymi wzorcami są wzorce architektoniczne. Deweloperzy mogą implementować je w niemal każdym języku. W przeciwieństwie do innych wzorców, mogą służyć zaprojektowaniu architektury całej aplikacji.
Ponadto, wszystkie wzorce można skategoryzować według ich celu, bądź przeznaczenia. Niniejsza książka dotyczy trzech głównych grup wzorców:
-
Wzorce kreacyjne wprowadzają elastyczniejsze mechanizmy tworzenia obiektów i pozwalają na ponowne wykorzystanie istniejącego kodu.
-
Wzorce strukturalne wyjaśniają jak składać obiekty i klasy w większe struktury, zachowując przy tym elastyczność i efektywność struktur.
-
Wzorce behawioralne które zajmują się efektywną komunikacją i podziałem obowiązków pomiędzy obiektami.