Wzorce projektowe

Wzorce projektowe zostały stworzone po to, aby nie wymyślać przysłowiowego koła na nowo. Znajomość wzorców projektowych i umiejętność ich stosowania pozwala na szybkie rozwiązywanie problemów. Wpis ten radzi, jakie wzorce zastosować u siebie.

Czym są wzorce projektowe?

Wzorce projektowe są zestawem receptur / strategii do samodzielnej implementacji. Receptury te służą do rozwiązywania pewnych problemów związanych z programowaniem. Istnieje kilka rodzai wzorców projektowych, które skupiają się na innych aspektach czy zakresach problemów w kodzie. Dzisiaj przejdziemy sobie po typach wzorców i ich najpopularniejszych oraz najpowszechniej używanych przykładach.

Po co stosować wzorce projektowe?

Zanim jednak mięso, wypada powiedzieć czy warto w ogóle stosować wzorce projektowe. Wzorce projektowe stosujemy głównie po to, aby rozwiązywać problemy i zmniejszać skomplikowanie kodu. Wzorce, co prawda, nie są implementowane wszędzie tak samo, ale osoba znająca wzorzec będzie go w stanie z łatwością użyć w różnych technologiach. Stosując predefiniowane i dobrze znane receptury rozwiązywania problemów, pozwalamy, aby nasz kod był możliwy do zrozumienia, przy małym nakładzie czasu, przez inne osoby. 

Wzorzec projektowy vs. algorytm

Jak już wiesz, wzorzec projektowy nie jest implementowany wszędzie tak samo. Jest to bardziej wypróbowany w boju zestaw narzędziowy, który możesz użyć do stworzenia oprogramowania. W przypadku algorytmu sprawa ma się zupełnie inaczej. Algorytm jest to z kolei instrukcja operacji, krok po kroku, której wynik i przebieg są znane. 

Mówiąc bardziej życiowo, algorytm to przykładowo przepis na szarlotkę. Wiesz w co musisz się zaopatrzeć, jakich narzędzi i składników potrzebujesz oraz posiadasz gotowy plan działania, jak zamienić składniki we wcześniej znany rezultat. Narzędziem może być tutaj mikser, kitchen aid czy trzepaczka do ubijania białek, co określać może wzorzec projektowy, który rozwiąże problem sposobu ubicia samych białek.

Kreacyjne wzorce projektowe

Pierwszym, dzisiaj omawianym rodzajem wzorców, są kreacyjne wzorce projektowe. Jak sama nazwa wskazuje, służą do tworzenia innych obiektów. Pozwalają na niwelowanie rozsianego coupling-u, trzymanie w ryzach reguł tworzenia obiektów czy też lepszą kontrolę samego procesu wytwórczego. Najczęściej stosowanymi kreacyjnymi wzorcami projektowymi są:

Strukturalne wzorce projektowe

Kolejnym typem wzorców są strukturalne wzorce projektowe. Przydają się one do spójnego łączenia części logiki w strukturalną całość. Dzięki nim, możemy sprytnie budować łatwo rozwijalne struktury systemu, skupione na realizowaniu konkretnych zadań. Stosując te wzorce projektowe nie zamkniesz się na rozbudowę, poprawisz przejrzystość i testowalność swoich komponentów. Najbardziej znanymi strukturalnymi wzorcami projektowymi są:

Czynnościowe (behawioralne) wzorce projektowe

Ostatnim omawianym dziś rodzajem wzorców projektowych są te związane z interakcją pomiędzy komponentami. Mowa tutaj o wzorcach czynnościowych, często zwanych także behawioralnymi wzorcami projektowymi. Służą one głównie do podziału odpowiedzialności podczas realizowania pewnych zadań, a także do kontroli procesów logicznych. To w nich podejmowane są decyzję o tym, w jaki sposób zrealizować logikę. Wyróżnić możemy m.in.:

Podsumowanie

  • Wzorce projektowe to narzędzia do tworzenia wysokiej jakości oprogramowania.
  • Wyróżniamy trzy główne rodzaje wzorców projektowych: kreacyjne, strukturalne i czynnościowe.
  • Dzięki ich stosowaniu nasz kod staje czystszy, łatwiej utrzymywalny i zrozumiały dla nowych osób.
Autor wpisu

blog@orbisbit.com

Komentarze

Dodaj komentarz

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

Sprawdź również
  • CQRS – Command Query Responsibility Segregation

    Command Query Responsibility Segregation czyli CQRS. Jest to wzorzec projektowy, który rozdziela zadania odczytu i zapisu do osobnych modeli. Sprawdź ten wpis, aby dowiedzieć się kiedy i jak z niego skorzystać.

    Zobacz wpis

  • GRASP – kolejny zbiór zasad Clean Code do zapamiętania

    Pewnie większość z Was słyszała o zasadach SOLID. Są one bardzo rozpowszechnione i dosyć często stosowane, ale czy słyszeliście o GRASP? General Responsibility Assignment Software Patterns, to kolejna dawka zasad czystego kodu do zapamiętania.

    Zobacz wpis

  • Wzorzec strategia (strategy pattern)

    Jeżeli masz dość if-ologii w swoim kodzie, to konieczne sprawdź czym jest czynnościowy wzorzec projektowy strategia. Pozwala on mądrze obsługiwać różne scenariusze w procesie i jednocześnie być fancy pod względem zasad SOLID.

    Zobacz wpis