WZORCE PROJEKTOWE

Wzorzec projektowy Mediator

Wzorzec projektowy Mediator pomaga w w utrzymaniu luźnych powiązań pomiędzy klasami. Polega to najczęściej na wprowadzeniu swojego rodzaju menedżera (mediatora), który to będzie obsługiwał komunikację pomiędzy obiektami, tak aby uniknąć powiązań każdy do każdego. Przykładem takiego systemu mógłby być system inteligentnego domu. Załóżmy, że mamy w nim kilka komponentów takich jak na przykład czujnik temperatury, …

Wzorzec projektowy Mediator Czytaj dalej »

Wzorzec projektowy Memento

Idea stojąca za wzorcem projektowym Memento to zapisywanie aktualnego stanu gry/systemu. Przykładowo dając graczowi możliwość zapisywania stanu gry, należy stworzyć do tego odpowiedni mechanizm. Najczęściej mechanizm ten będzie pozwalał na wyciągnięcie do oddzielnego obiektu aktualnego stanu gry a następnie zapis tego obiektu.

Wzorzec projektowy Pyłek

Wzorzec projektowy Pyłek pozwala na uniknięcie niepotrzebnego replikowania obiektów, kiedy to nie jest potrzebne. Przydatne jest to, gdy przewidywane jest stworzenie bardzo dużej ilości obiektów o takiej samej strukturze. Zamiast dodawać kolejne referencje w systemie, można wykorzystać już istniejące, posiadające te same wartości (na przykład wykorzystując fabrykę). Pewnego rodzaju implementacją wzorca Pyłek jest Java String …

Wzorzec projektowy Pyłek Czytaj dalej »

Wzorzec projektowy Łańcuch Odpowiedzialności

Wzorzec projektowy Łańcuch Odpowiedzialności pozwala na przekazywanie odpowiedzialności do następnych obsługujących. Przykład na podstawie loggerów Załóżmy, że chcemy stworzyć bibliotekę umożliwiającą logowanie (coś w stylu log4j). Biblioteka ta ma umożliwiać logowanie do różnych ujść (do konsoli, do pliku…). Spójrzmy jak można by wykorzystać tutaj wzorzec Łańcuch Odpowiedzialności: każda klasa logowania obsługuje logowanie i przekazuje ten …

Wzorzec projektowy Łańcuch Odpowiedzialności Czytaj dalej »

Wzorzec projektowy Most

Wzorzec Most – czyli jak oddzielić abstrakcję od implementacji, dzięki czemu można modyfikować te dwa elementy niezależnie od siebie. To w przybliżeniu opis wzorca. Ale niestety nie ułatwia to zrozumienia całej idei, a więc zacznijmy od problemu z jakim można się spotkać. Problem na przykładzie klawiatury i komputera Załóżmy, że mamy do zaimplementowania kilka modeli …

Wzorzec projektowy Most Czytaj dalej »

Wzorzec Null Object

Wzorzec Null Object pozwala w niektórych sytuacjach wykorzystać polimorfizm do ominięcia sprawdzeń czy obiekt istnieje – if(object != null) then…. Przykład 1 – obsługa strzałek w grze Załóżmy, że mamy grę w której jest postać którą możemy się poruszać w lewo, prawo, do góry i w dół: I przykładowo mamy implementację standardowego poruszania: Wzorzec Null …

Wzorzec Null Object Czytaj dalej »