Wzorce Projektowe: Projekt zaliczeniowy – wytyczne

Wzorce Projektowe są przyjazną pomocą innych praktyków programowania, często ukazujących problem techniczny z którym jeszcze się nie zetknęliśmy, gdyż stojąc przed wyzwaniem napisania jakiegoś programu nie zawsze wiemy jakie kłody będzie nam to wyzwanie rzucało pod nogi. Czasem dowiadujemy się o tym w sposób najmniej odpowiedni, gdy zgłasza nam błędy osoba, która u nas (profesjonalistów) zamówiła ten program. Dopiero często wtedy okazuje się, że aby Dowiedz się więcej…

Strukturalne: Mediator

Wzorzec Mediator należy do wzorców strukturalnych, jest często wykorzystywany by zrównoważyć lub dyskretnie modyfikować przepływ danych pomiędzy obiektami, także by stworzyć warstwę bezpieczeństwa pomiędzy dwoma obiektami w programowaniu zorientowanym obiektowo kontrolując zasady dostępu, albo także w zarządzaniu transakcjami. Z tego powodu jest podobny do wzorca Proxy, jednak tutaj występuje rozgraniczenie wertykalne w logice programu, podczas gdy Proxy kojarzony jest raczej Dowiedz się więcej…

Strukturalne: Proxy

Wzorzec Proxy należy do wzorców strukturalnych, jest często wykorzystywany by odciążyć klasę obsługującą wolne źródło np. system bazodanowy, także by stworzyć warstwę bezpieczeństwa pomiędzy dwiema warstwami w programowaniu zorientowanym obiektowo kontrolując zasady dostępu, albo także w zarządzaniu transakcjami. Jest swoistym interfejsem i z zasady posiada dokładnie taki sam interfejs jak obiekt klasy, którego jest pełnomocnikiem (proxy). Z tego powodu jest podobny Dowiedz się więcej…

Behawioralne: Observer

Wzorzec Observer należy do wzorców behawioralnych, czyli takich, które kształtują zachowanie systemu. Ten model służy, zgodnie z nazwą, do obserwowania zmian stanu innego obiektu i reakcji na zmianę. Jego użycie jest konieczne, gdy potrzebujemy wykonać jakąś akcję, ale nie mamy pewności czy inny, już trwający proces np. w innym wątku już zakończył pracę, a od którego aktualności zależy nasz obiekt. Stąd wynika, że taki model Dowiedz się więcej…

Strukturalne: Dekorator

Wzorzec strukturalny Decorator pewnie spodoba się osobom zmęczonym tworzeniem wielu klas potomnych w procesie dziedziczenia, gdy trzeba powołać do życia obiekty podobne do siebie ale nieco inaczej skonfigurowane. Wyobraźmy sobie tematykę hotelową, gdzie w 300 identycznych z założenia pokojach hotelowych chcemy uwzględnić po pierwsze różnice infrastrukturalne wynikające z cech konstrukcyjnych, a następnie różnice w wyposażeniu będące skutkiem bądź ustalenia konkretnego poziomu Dowiedz się więcej…

Kreacyjne: Prototyp

Prototyp jest jednym z kreacyjnych wzorców projektowych. W porównaniu do wzorca jakim jest Fabryka, wykazuje pewne podobieństwa. Generalną różnicą jest jednak fakt potrzeby otrzymania dokładnych kopii obiektów wraz z wartościami pól danych, stanów itp… Z zasady tworząc wzorzec Prototyp, tworzy się go jako interfejs z wymogiem zaimplementowania metody clone(); służącej do klonowania obiektu wraz z jego danymi do następnych instancji. Dowiedz się więcej…

Kreacyjne: Builder

Builder jest jednym z kreacyjnych wzorców projektowych. Jednakże w porównaniu do poprzedniego wzorca jakim jest Fabryka, logika jego działania jest nieco inna. Poprzez poszczególne wywołania wyspecyfikowanych metod tworzymy nową instancję zawierającą coraz bardziej rozbudowaną wersję klasy złożoną jakby z pasujących do siebie klocków lego. Można użyć porównania ze StackOverflow, gdzie przyrównano wzorzec Budowniczego do pizzerii, gdzie zamawiając Dowiedz się więcej…

Kreacyjne: Factory

Fabryka jest jednym z bardziej fundamentalnych wzorców projektowych. Dlatego też jest drugim w zestawieniu omawianym wzorcem. W najprostszym podejściu Fabryka służy do wytwarzania obiektów, stąd też nazwa wzorca. Zasadą ideologiczną zaś jest odseparowanie części odpowiedzialnej za tworzenie obiektów od celów funkcjonalnych danej klasy. Rodzaje fabryk… W zależności od specyfiki problemu możemy spróbować dopasować wzorzec do niego i użyć takiej jego Dowiedz się więcej…

Kreacyjne: Singleton

Prawdopodobnie najpopularniejszy wzorzec projektowy… Prawdopodobnie, bo wiele rozwiązań umożliwiających dostęp do instancji w przestrzeni globalnej, tudzież konstrukcja programu zapewniająca istnienie tylko jednej instancji klasy są nazywanych błędnie Singleton’em. Dygresja na początek… niezbędny SOLID Singleton jest wzorcem łamiącym zasadę SRP… ale co to jest zasada SRP?! Tutaj zanim przejdę do omówienia wzorca, muszę nadmienić, że w historii zostały sformułowane i spopularyzowane zasady tworzenia “czystego” Dowiedz się więcej…

Krótka historia Wzorców Projektowych

Wzorzec to powtarzalny wzór, który może być odkryty i powtarzany dla uzyskania pozytywnych wpływów na nasz projekt. Tymi pozytywami mogą być np. rozszerzalność i czytelność kodu. Nie sposób jednak nadmienić, że częste stosowanie wzorców do wszystkiego powoduje jednakże przede wszystkim wyeksponowanie ich minusów, czyli np. zbędnego rozbudowania kodu. Wzorce projektowe oprogramowania zostały po raz pierwszy nazwane i formalnie opisane w 1994 roku przez autorów Dowiedz się więcej…