Wzorce projektowe

O wzorcach projektowych na pewno słyszał każdy, kto rozpoczął swoją przygodę z projektowaniem obiektowym, a już na pewno spotkałeś się z tym określeniem przeglądając oferty pracy dla Junior Developera.

Stosowanie wzorców projektowych pozwala tworzyć nam czysty kod, który dobrze się czyta nie tylko nam, ale również innym osobom, które będą pracowały z naszym kodem. Oczywiście stosowanie wzorców, nie wpływa jedynie na czytelność kodu, ale również  poprawia jego wydajność i niezawodność.

Czym zatem są wspomniane wzorce?

Wzorzec projektowy jest ustandaryzowanym i uniwersalnym rozwiązaniem stworzonym dla typowych, często pojawiających się problemów projektowych. Wzorzec wskazuje na powiązania i zależności jakie występują pomiędzy klasami i obiektami przez co ułatwia pisanie dobrego jakościowo kodu. Wzorce są jedynie opisem rozwiązania problemu (abstrakcją), a nie bezpośrednią implementacją. Należy zawsze dopasowywać wzorzec do swojej własnej sytuacji, a nie próbować na siłę podciągnąć problem pod wybrany wzorzec.

Na wzorzec projektowy składa się jego nazwa, problem czyli sytuacja, w której powinno się zastosować dany wzorzec, rozwiązanie zawierające opis relacji, powiązań i obowiązków, a także rady dla implementacji rozwiązania dla danej technologii. Ostatnim elementem wzorca są konsekwencje czyli zbiór plusów i minusów wynikających z zastosowania danego wzorca.

To tyle, jeżeli chodzi o ogólne pojęcie czym są wzorce projektowe, w kolejnych postach postaram się przybliżyć poszczególne, najczęściej stosowane wzorce w najbardziej przystępny i zrozumiały sposób.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

Up ↑

%d bloggers like this: