Wzorce Projektowe

/Wzorce Projektowe

Wzorce projektowe: Factory method

Wzorzec Factory method (Metoda fabrykująca) jest kolejnym wzorce konstrukcyjnym. Wzorzec ten wykorzystywany jest w sytuacjach, gdy potrzebujemy utworzyć obiekt z poszczególnej grupy ( połączonej wspólnym interfejsem). Dodatkowo potrzebujemy klasy, która zajęłaby się implementacją poszczzególnych metod interfejsu i metody w większości przypadków będą niezmienne dla więkoszości klas. Do uzyskania zamierzonego efektu klasa odpowiedzialna za tworzenie metod została utworzona jako abstrakcyjna. Zawarto w niej wszystkie metody obsługujące potrzebny obiekt, a metodę która tworzy obiekt przeniesiono poziom niżej do poszczególnych podklas tej klasy. Dla przykładu: posiadamy intefejs Napoje i klasy go implementujące: Kawa, Wino, Woda i Piwo. Czyli dokładnie ten sam model, który wykorzystaliśmy przy opisie wzorca Simple Factory. […]

By | Luty 2nd, 2009|Categories: Wzorce Projektowe|Tags: , , |0 Comments

Wzorce projektowe: Abstract factory

Wzorzec Abstract Factory jest bardzo bliskim krewnym wzroca Factory Method. Oba wzroce należą do grupy wzorców konstrukcyjnych – jedyna różnica między nimi jest taka, że Factory method tworzy jeden obiekt, a abstract factory całą grupę powiązanyc obiektów. W opisie wzorca factory method tworzyliśmy Napoje : Wino, Piwo, Kawa lub Woda. Nie było zdefiniowane więcej szczegółów. Jednakże w naszej alikacji potrzbujemy czegoś więcej. Każdy napój powinien byc podany w odpowiednim naczyniu (Kufel, Kieliszek, Kubek lub Szklanka) oraz z odpowiednim dodatkiem ( Ser do Wina, Sernik do Kawy, Orzeszki do Piwa). W takiej sytuacji najlepiej wykorzystać wzorzec abstract factory. Tworzymy interfejsy Dodatek oraz Szkło i klasy implementujące te interfejsy do wykorzystania w naszej fabryce. Następnie abstrakcyjną klasę bazową w której umieścimy ogólne metody naszej implementacji. Oraz utworzymy klasę pochodną w której umieścimy wszystkie szczegóły tworzenie grupy obiektu. […]

By | Luty 2nd, 2009|Categories: Wzorce Projektowe|Tags: , , |0 Comments

Wzorce projektowe: Simple Factory

Simple Factory (Prosta fabryka) nie jest przez wszystkich uważany za wzorzec projektowy. Jednak jest tak często używany, że warty odrobiny uwagi. Simple factory jest jednym z wzorców konstrukcyjnych, których zadaniem jest tworzenie obiektów. Wzorzec ten charakteryzuje się tym, że caly proces decyzyjny i konstrukcyjny jest w jednej metodzie. Dla przykładu mamy klasy kilku napojów: Kawa, Herbata, Wino, Piwo i Woda. Wszystkie implementują interface Napój. Klasa NapójFactory utworzony zgodnie z powyższym wzorcem może wyglądać tak:

[…]

By | Styczeń 30th, 2009|Categories: Wzorce Projektowe|Tags: , , |0 Comments

Wzorce projektowe: Strategia

Strategia jest czynnościowym wzorcem obiektowym. Wzorzec składa się z wielu związanych ze sobą algorytmów ukrytych wewnątrz klasy sterującej zwanej Context. Program klienta może wybrać jeden z tych algorytmów lub najodpowiedniejszy z nich. Intencją wzorca jest wymienność algorytmów w trakcie działania programu oraz ich hermetyzacja. Bardzo łatwo dodaje się nowe algorytmy, poprzez utworzenie nowej klasy implementującej dany interfejs. Conext może w danej chwili mieć wybraną tylko jedną strategię. Kiedy to może mieć zastosowanie: naliczanie podatku w sklepie zależnie od kraju zamieszkania kupującego, Kompresowanie plików z wykorzystaniem różnych algorymtów, Zapisywanie plików w różnych formatach. […]

By | Styczeń 27th, 2009|Categories: Wzorce Projektowe|Tags: , , , |0 Comments

Wzorce projektowe: Adapter

Adapter jest wzorcem, którego zadaniem jest konwersja jednego inteface’u w drugi, co pozwoli na wykorzystanie klasy adaptowanej tam, gdzie nie zostało to pierwotnie założone. Wyobraźmy sobie, że kupujemy nowy monitor. Okazuje się, że monitor ma kabel który nie pasuje do naszej karty graficznej. Pierwszym skojarzeniem jest użycie odpowiedniej ‚przejściówki’ co pozwoli na podłączenie wtyczki nowego typu do gniazda starego typu. Tak działa właśnie adapter. Przykład: Posiadamy program pilota, który steruje całym naszym sprzętem w domu m.in. telewizorem. Oto kod pilota i interfejsu telewizora:

[…]

By | Styczeń 26th, 2009|Categories: Wzorce Projektowe|Tags: , , |0 Comments