Budowniczy (Builder)

Budowniczy jest kreacyjnym wzorcem projektowym, który daje możliwość tworzenia złożonych obiektów etapami, krok po kroku. Wzorzec ten pozwala produkować różne typy oraz reprezentacje obiektu używając tego samego kodu konstrukcyjnego.

Fabryka Abstrakcyjna cz.2

Intencją wzorca fabryki abstrakcyjnej jest zapewnienie interfejsu do tworzenia rodzin powiązanych lub zależnych obiektów bez określania ich konkretnych klas.

Fabryka abstrakcyjna

Fabryka abstrakcyjna jest kreacyjnym wzorcem projektowym, który udostępnia interfejs do tworzenia rodzin powiązanych lub zależnych obiektów bez określania ich konkretnych klas. Czyli pozwala tworzyć rodziny spokrewnionych ze sobą obiektów bez określania ich konkretnych klas.

Metoda Wytwórcza cz.2

Jak już wiemy intencją wzorca jest zdefiniowanie interfejsu do tworzenia obiektów, ale to podklasy decydują, którą klasę utworzyć. Innymi słowy, metoda fabryczna pozwala klasie odroczyć tworzenie instancji do podklas.

Metoda wytwórcza

Metoda wytwórcza to wzorzec projektowy, którego celem jest dostarczenie interfejsu dla klas odpowiedzialnych za tworzenie konkretnego typu obiektów. Metoda wytwórcza definiuje standardowy sposób tworzenia obiektów w sposób niezależny od ich rodzaju. Rozwiązuje problem tworzenia obiektów bez określania ich konkretnych klas.

Adapter

Adaptera konwertuje interfejs klasy na inny interfejs, którego oczekują klienci, pozwala klasom współpracować ze sobą, co nie byłoby możliwe z powodu niezgodnych interfejsów

Strategy

Wzorzec strategii (Strategy pattern) jest wzorcem projektowym zastosowanym w programowaniu obiektowym, który umożliwia zamianę zachowania obiektu w czasie działania programu. Jest to przykład wzorca projektowego opartego na zasadzie “kompozycji zamiast dziedziczenia”.

Czym są wzorce projektowe?

Wzorce projektowe to typowe rozwiązania problemów z projektowaniem oprogramowania, które wciąż napotykasz podczas tworzenia aplikacji w świecie rzeczywistym.

Wzorce Projektowe

Wzorce Projektowe to sprawdzone w praktyce, uniwersalne rozwiązania często pojawiających się problemów podczas projektowania aplikacji. Wzorce projektowe tworzone są najczęściej w oparciu o programowanie obiektowe.

Dependency Inversion Principle – DIP

Moduły wysokopoziomowe nie powinny zależą od modułów niskopoziomowych, obie grupy modułów powinny zależeć od abstrakcji. Abstrakcje nie powinny zależeć od szczegółów rozwiązania, to szczegóły powinny zależeć od abstrakcji.

Interface Segregation Principle – ISP

Teraz omówimy zasadę segregacji interfejsów jest to czwarta zasada SOLID, która opisuje, jak powinniśmy projektować i używać interfejsy w naszych aplikacjach. Zasada ta stanowi, że klienci (klasy) nie powinni być zmuszani do polegania na metodach, których nie używają. Kilka dedykowanych interfejsów jest lepsze niż jeden, który jest zbyt ogólny.

Liskov Substitution Principle – zastosowanie LSP

Przyjrzyjmy się teraz, jak możemy zastosować zasadę LSP w naszej aplikacji myjni samochodowej. Użytkownicy naszej aplikacji, zgłosili nam mały błąd który wprowadziliśmy, gdy modyfikowaliśmy nasz kod wprowadzając wzorzec fabryki DetailsPricingFactory do tworzenia różnych instancji typów mycia, teraz musimy to naprawić.