StartWzorce projektoweFabryka abstrakcyjna (abstract factory)
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Fabryka abstrakcyjna (abstract factory)
Ocena użytkowników:+++++ / 3
SłabyŚwietny 
Wpisany przez Kamil Dworak
środa, 25 sierpnia 2010 18:49
Fabryka abstrakcyjna (ang. abstract factory) - konstrukcyjny wzorzec projektowy. Fabryka pozwala tworzyć całe rodziny produktów. Mamy zdefiniowany interfejs do tworzenia spokrewnionych obiektów. Występuje tu kompozycja oraz pewne uzależnienie od abstrakcji, a nie klas rzeczywistych. Klient oddzielony jest od implementacji klas, tworzących obiekty. Wzorzec ten łączony jest z metodą fabrykującą.

Mamy fabrykę komputerów. Produkujemy laptopy i komputery stacjonarne PC. Jak już napisałem wyżej wspomagamy się tutaj wzorcem zwanym metoda fabrykująca. Mamy tutaj główną klasę, klasę abstrakcyjną (po niej dziedziczą szczegółowe fabryki, np. na części do laptopów i części do komputerów PC). Szczegółowe fabryki produkują swoje podzespoły, tworzą nowe obiekty przy pomocy klas rzeczywistych. Klasy implementują odpowiadające im interfejsy. Teraz już tylko składamy komputery i wydajemy (metodo fabrykująca do dzieła!).

Uogólniony diagram:
fabryka abstrakcyjna


Diagram odpowiadający załączonemu przykładowi:
fabryka abstrakcyjna - przykład


  • Tworzymy nową fabrykę komputerów.
  • Wywołujemy metodę wydajKomputer(String typ) fabryki, załóżmy, że potrzebny nam komputer klasy PC.
  • Tworzymy zmienną komputer, wywołujemy dla niej metodę zlozKomputer(typ).
  • Teraz sprawdzamy, o jaki komputer nam chodziło, odpalamy konstruktor klasy KomputerPC, który jako parametr przyjmuje nową fabrykę, produkującą podzespoły (fabryka właściwa).
  • Po drodze uruchamia się metoda składająca komputer skladanie() (wywołanie w konstruktorze), właśnie ona inicjuje wszystkie pola przy pomocy fabryki.
  • Teraz już tylko instalacja oprogramowania. Pakujemy i sprzedajemy.
  • Podobnie postępujemy z laptopem.



Autor Język programowania Komentarz Otwórz Pobierz Ocena
Kamil Dworak C# Visual Studio 2008
Implementacja w C#
Implementacja w C#
+++-- / 5
Kamil Dworak Java
Implementacja w Java
Implementacja w Java
+++-- / 3
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Poprawiony: środa, 25 sierpnia 2010 19:03

Dodaj komentarz

Kod antysapmowy
Odśwież