Wykorzystaj wzorce projektowe i programuj szybciej!

Każdy programista zapewne o jakichś tam wzorcach projektowych coś słyszał, kilka pewnie nawet zna, bo na studiach kazali wykuć na pamięć. Niestety jest znacząca różnica między znać, a rozumieć i potrafić zastosować.  Mam wrażenie, że jest to temat niejednokrotnie zaniedbywany nawet u doświadczonych programistów.

Czym właściwie są wzorce projektowe w programowaniu? Są to nazwane i ustandaryzowane rozwiązania popularnych problemów, które często pojawiają się przy tworzeniu oprogramowania. Zatem dogłębne ich poznanie i zrozumienie, pozwalające na swobodne operowanie nimi, sprawia, że gdy napotykamy problem określonego typu w zasadzie z automatu mamy wstępne jego rozwiązanie. Wstępne, bo oczywiście nie chodzi o to, aby na siłę bezmyślnie wciskać wzorce wszędzie gdzie się da. Każdą sytuację należy potraktować indywidualnie i zastanowić się czy rzeczywiście warto zastosować tu taki wzorzec/wzorce. W wielu jednak przypadkach okaże się, że taki „gotowiec” się sprawdzi, ewentualnie będzie wymagał delikatnej modyfikacji.

Oczywistym jest, że pozwala to w takiej sytuacji zaoszczędzić mnóstwo czasu dzięki temu, że nie musimy wymyślać koła na nowo. Jednak to nie koniec oszczędności czasowych. Zyskamy także, gdy my lub ktoś inny będzie musiał kiedyś do tego kodu wrócić, aby wprowadzić jakieś zmiany. Gdy zobaczymy w kodzie wzorzec projektowy, który znamy pozwoli nam to od razu znacznie szybciej ten kod zrozumieć i odnaleźć się w nim.

Znajomość wzorców znacznie ułatwia także komunikację. Zamiast opisywać komuś słownie czy też przy pomocy rysunków na tablicy jak coś zostało zrobione, wystarczy, że powiesz jaki wzorzec zastosowałeś oraz dlaczego i druga osoba od razu ma już spory zarys tematu, oczywiście przy optymistycznym założeniu, że również zna wzorce 😉

Oprócz wzorców warto znać także antywzorce i powody, dla których są za takowe uważane. Wiele wzorców, które do tej pory były często stosowane i uważane za poprawne zaczyna być uważanych przez część osób za antywzorce (Singleton, Locator, Repository). Warto wiedzieć dlaczego i wziąć to pod uwagę decydując się na zastosowanie, któregoś z nich.

W kolejnych wpisach na pewno będę dokładniej poruszał temat konkretnych wzorców z naciskiem na ich praktyczne zastosowanie w sytuacjach „z pracy wziętych”. Tak więc zapraszam 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *