Wzorce projektowe to sprawdzone, wielokrotnie stosowane rozwiązania typowych problemów występujących podczas projektowania oprogramowania. Nie są gotowym kodem do skopiowania, ale opisują ogólny sposób organizacji klas, obiektów i zależności między nimi.
Wzorce pomagają tworzyć kod bardziej czytelny, elastyczny i łatwiejszy w utrzymaniu.
Główne grupy wzorców
Wzorce projektowe często dzieli się na trzy podstawowe kategorie:
- kreacyjne — dotyczą tworzenia obiektów, np. Singleton, Fabryka,
- strukturalne — dotyczą organizacji klas i obiektów, np. Adapter, Kompozyt,
- behawioralne — dotyczą sposobu komunikacji i podziału odpowiedzialności, np. Strategia, Obserwator, Metoda szablonowa.
Przykłady
Metoda szablonowa określa szkielet algorytmu w klasie bazowej, a szczegóły pozostawia podklasom.
Kompozyt pozwala organizować obiekty w strukturę drzewiastą.
Singleton ogranicza liczbę instancji klasy zwykle do jednej i udostępnia globalny punkt dostępu.
Po co stosować wzorce?
Wzorce projektowe ułatwiają komunikację między programistami. Zamiast długo opisywać rozwiązanie, można powiedzieć: „użyjemy wzorca Template Method” albo „to wygląda jak Composite”.
Ważne na egzaminie
W pytaniach egzaminacyjnych często trzeba dopasować nazwę wzorca do jego zastosowania. Warto znać nie tylko definicję, ale też typowy problem, który dany wzorzec rozwiązuje.