Design patterns

/Tag:Design patterns

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: , , |Możliwość komentowania Wzorce projektowe: Abstract factory została wyłączona

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: , , |Możliwość komentowania Wzorce projektowe: Simple Factory została wyłączona

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: , , , |Możliwość komentowania Wzorce projektowe: Strategia została wyłączona

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: , , |Możliwość komentowania Wzorce projektowe: Adapter została wyłączona

Przypomnienie podstaw UML

W notacji UML klasa jest przedstawiona jako prostokąt podzielony na trzy części. W pierwszej części podana jest nazwa klasy i czasami package. W drugiej części podane są pola czyli atrybuty klasy. W ostatniej znajduje się lista operacji (metod). […]

By | Styczeń 22nd, 2009|Categories: Programowanie|Tags: , , , |Możliwość komentowania Przypomnienie podstaw UML została wyłączona