Wprowadzenie

W tym wpisie chciałabym przybliżyć Wam czym są wzorce projektowe, jakie są ich zalety i jakie rodzaje wyróżniamy. Po raz pierwszy koncepcję wzorców opisał w swojej książce „Język wzorców” Christopher Alexander.

Książka opisuje “język” służący projektowaniu środowiska miejskiego. Jednostkami tego języka są wzorce, które mogą opisywać m.in.: wysokość okien, powierzchnię terenów zielonych w dzielnicach, ilość pięter.

Idea wzorców zainspirowała czterech autorów: Erich Gamma, John Vlissides, Ralph Johnson i Richard Helm do opublikowania książki „Wzorce projektowe: Elementy oprogramowania obiektowego wielokrotnego użytku„. W tej książce zostały opisane 23 wzorce, które pozwalają poradzić sobie z problemami związanymi z projektowaniem obiektowym. Pozycja szybko stała się bestsellerem.

Od tamtej pory korzystanie z wzorców projektowych stało się bardzo popularne.

Czym jest wzorzec projektowy?

Wzorcem projektowym nazywamy typowe rozwiązanie problemów, które są często spotykane przy projektowaniu oprogramowania. Można porównać je do gotowego planu, który można zastosować w celu rozwiązania problemu w kodzie.

Jednak należy pamiętać, że wzorzec jak sama nazwa „mówi” jest wzorem, ogólną koncepcją rozwiązywania danego problemu. Nie jest to gotowy kod, który możemy skopiować do naszego kodu. Można zaimplementować rozwiązanie, które będzie pasowało do Twojego programu postępując według wzorca.

Algorytm a wzorzec projektowy.

Te dwa pojęcia często są mylone, ponieważ algorytmy i wzorce projektowe opisują typowe rozwiązania jakiegoś problemu. Jednak nie służą one do tego samego.

Algorytm można porównać do „przepisu kulinarnego”. Zawsze definiuje zestaw czynności, które prowadzą do rozwiązania problemu.

Wzorzec to opis rozwiązania, pokazuję nam strategię jaką możemy użyć przy rozwiązaniu problemów określonego typu. Znamy wynik i założenia, ale dokładna implementacja należy do Nas. W związku z tym, kod, który powstał na podstawie jakiegoś wzorca może być zaimplementowany zupełnie inaczej w różnych programach.

Podstawowe elementy wzorców projektowych.

Opis wzorca dzielimy na sekcje:

  • Cel – opisuje problem i rozwiązanie (pobieżnie)
  • Motywacja – rozszerza opis problemu i rozwiązania jakie umożliwia nam wzorzec
  • Struktura klas – jak są ze sobą powiązane poszczególne części wzorca
  • Przykład kodu – aby lepiej zrozumieć ideę wzorca
Klasyfikacja wzorców projektowych
  • Wzorce kreacyjne – pozwalają na ponowne wykorzystanie kodu, zwiększają elastyczność tworzenia obiektów
  • Wzorce strukturalne – opisują jak powinniśmy składać obiekty oraz klasy w większe struktury, ale dalej zachowując efektywność struktur
  • Wzorce behawioralne – opisują jak powinien wyglądać podział obowiązków pomiędzy obiektami oraz efektywna komunikacja

Idiomy – najbardziej podstawowe i niskopoziomowe wzorce.

Wzorce architektoniczne – najbardziej uniwersalne i wysokopoziomowe wzorce. Można je implementować w każdym języku. Mogą służyć do zaprojektowania architektury naszej aplikacji.


0 komentarzy

Dodaj komentarz

Avatar placeholder

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *