sobota, 12 grudnia 2009

Factory Method

aplikacja
Wzorcem obiektowym którym dzisiaj się zajmiemy jest Factory Method Pattern (Metoda Wytwórcza). Jest jeden z kreacyjnych wzorców projektowych, a jak sama nazwa sugeruje służy do tworzenia obiektów. Ściśle ujmując dostarcza on interfejsu do tworzenia obiektów, ale o typie obiektów decydują jego podklasy.
Zobaczmy na schemat klas:



Jak widać mamy tu do czynienia z dwoma klasami abstrakcyjnymi: Product czyli obiekt który chcemy utworzyć oraz Creator definiujący sposób jego utworzenia.

Zobaczmy na przykład. Rozważmy produkcję laptopów. Mamy dwie fabryki wytwarzające gotowe laptopy. Jedna z fabryk zlokalizowana jest w Polsce druga w Japonii. Fabryki produkują dwa rodzaje laptopów: modelA i modelB. Diagram klas:


Typ wyliczeniowy LaptopModel pozwala nam w prosty sposób tworzyć obiekty potrzebnego nam typu. Można także robić to w inny sposób jak np. przekazać string czy daną typu int. Enum wydał mi się tu jednym z najbardziej uniwersalnych i prostych rozwiązań.

Kod aplikacji można pobrać stąd: aplikacja

1 komentarz: