Centrum wiedzy o technologiach i pracy w IT
wzorce projektowe

Wzorce projektowe – czym są?

Szybkie rozwiązywanie problemów programistycznych jest cenną umiejętnością w pracy nad kodem. Wiele problemów projektowych jest powtarzalnych, dlatego na bazie ich specyfiki i możliwych rozwiązań powstały wzorce projektowe. Czym są dokładnie? W jaki sposób są zbudowane?

Wzorce projektowe – definicja

Wzorce projektowe stanowią rozwiązania powtarzalnych problemów projektowych, zatem są opisem uniwersalnego sposobu implementacji rozwiązań programistycznych, który powstał w oparciu o doświadczenie wielu programistów.

Wśród wzorców projektowych można wyróżnić kilkadziesiąt sposobów podzielonych na kategorie. Każda z kategorii dotyczy problemu programistycznego, który może się powtarzać podczas tworzenia różnych projektów.

Celem wzorców projektowych jest przyspieszenie i usprawnienie pracy nad kodem dzięki zastosowaniu najlepszych zebranych rozwiązań, które zostały sprawdzone w praktyce.

Wzorce nie są jednak gotowym do kopiowania kodem, więc nie można ich skopiować bezpośrednio. Stanowią pewną koncepcję, w oparciu o którą programista może zaimplementować optymalne dla projektu rozwiązanie.

Zobacz: Agile

Wzorce projektowe – co się na nie składa?

W skład wzorców projektowych wchodzi kilka sekcji, wśród których wymienia się:

1. Cel , który ogólnie opisuje problem oraz rozwiązanie.

2. Motywację rozszerzającą opis problemu i rozwiązania.

3. Strukturę klas, która uwidacznia sposób powiązania ze sobą różnych części wzorca.

4. Przykładowy kod napisany w wybranym języku programowania, który służy lepszemu zrozumieniu zastosowania danego wzorca.

Klasyfikacja wzorców projektowych

Charakterystyka poszczególnych wzorców projektowych jest zróżnicowana, a więc spośród grup wzorców można wyróżnić trzy główne:

Wzorce kreacyjne

Cechują się elastycznym mechanizmem tworzenia obiektów oraz umożliwiają ponowne wykorzystanie kodu. Dotyczą tworzenia klas, metod, a także typów danych.

Wśród wzorców kreacyjnych znajdują się: Factory Method, Abstract Factory, Builder, Prototype i Singleton.

Wzorce strukturalne

Opisują metody budowania struktur składających się z klas i obiektów, które umożliwiają zachowanie elastyczności.

Do wzorców strukturalnych należą: Adapter, Bridge, Composite, Decorator, Facade, Flyweight i Proxy.

Wzorce behawioralne

Służą do komunikacji oraz podziału zadań między obiektami.

Wzorce behawioralne to: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method oraz Visitor.

Sprawdź: Zenly

Wzorce projektowe – najczęstsze zarzuty

Ze względu na pewien stopień uniwersalności rozwiązań, wzorce projektowe są czasem krytykowane. Najczęściej zwraca się uwagę na trzy główne problemy.

Traktowanie wzorców arbitralnie

Programiści z mniejszym doświadczeniem mogą podchodzić do wzorców projektowania zbyt sztywno. Problemem może być wdrażanie wzorców bez uwzględnienia konieczności elastycznego dopasowania.

Nadmierne wykorzystywanie wzorców

To także problem widoczny u mniej doświadczonych programistów. Poznając temat wzorców projektowych, mogą mieć tendencję do nadmiernego ich wykorzystywania nawet w sytuacjach, w których wystarczy mniej skomplikowany kod.

Wzorce projektowe tuszują problemy, a nie je rozwiązują

Czasami programista nie dopasuje dobrze języka do projektu i wtedy próbuje sobie radzić za pomocą wzorców projektowych, więc w tym wypadku zarzut polega na prowizoryczności takich działań.

Total
1
Shares
_podobne artykuły