Zpo-10-wyk-Slajd9: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 1: Linia 1:
==Abstract Factory: konsekwencje==
==Przykład==


[[Image:zpo-10-wyk-Slajd9.PNG|Abstract Factory: konsekwencje]]
[[Image:zpo-10-wyk-Slajd9.PNG|Przykład]]




Zastosowanie tego wzorca pozwala w łatwy sposób zmieniać całe rodziny produktów, zmieniając tylko ich fabrykę. Ponadto, struktura wzorca pozwala łatwo wydzielić warstwę abstrakcji i implementacji, i to zarówno w przypadku fabryki, jak i produktu. Szczegóły implementacyjne obu typów klas są więc niewidoczne dla klienta, co przyczynia się do większej elastyczności systemu.


Dodawanie kolejnych rodzin produktów wiąże się z koniecznością zaimplementowania także nowej fabryki, która będzie dostarczać wspomniane produkty. W ten sposób obiekt fabryki i tworzone przez niego obiekty są związane ze sobą i tworzą hermetyczną całość.


Należy jednak pamiętać, że dodanie do wzorca kolejnego typu Product jest utrudnione, ponieważ wymaga modyfikacji wszystkich istniejących dotychczas fabryk. Dlatego wzorzec ten stosuje się w sytuacjach, w których zestaw produktów jest zamknięty.  
Przykład dotyczy klasy DziałKatalogu. Reprezentuje ona dział katalogu w bibliotece, jednak jedynym jego wyróżnikiem jest prefiks dodawany przez identyfikatorem książki. Działy z zasady nie zmieniają swoich prefiksów, dlatego obiekt ten spełnia warunek niezmienności. Zgodnie z zasadami dotyczącymi obiektów-referencji, przypomnianymi przy poprzednim przekształceniu, klasa ta obecnie posiada metodę-fabrykę zajmującą się tworzeniem i zapamiętywaniem utworzonych instancji.
 
Wzorzec ten jest stosowany m.in. w bibliotece Java Swing do reprezentacji tzw. skórek (czyli mechanizmu umożliwiającego szybką zmianę wyglądu interfejsu użytkownika). Wszystkie implementacje okienek, przycisków, list i innych elementów GUI są produkowane przez wybraną fabrykę. Zmiana implementacji tej fabryki oznacza jednoczeną modyfikację zawartości ekranu.




[[zpo-10-wyk-Slajd8 | << Poprzedni slajd]] | [[zpo-10-wyk-toc|Spis treści ]] | [[zpo-10-wyk-Slajd10 | Następny slajd >>]]
[[zpo-10-wyk-Slajd8 | << Poprzedni slajd]] | [[zpo-10-wyk-toc|Spis treści ]] | [[zpo-10-wyk-Slajd10 | Następny slajd >>]]

Aktualna wersja na dzień 17:54, 4 lis 2006

Przykład

Przykład



Przykład dotyczy klasy DziałKatalogu. Reprezentuje ona dział katalogu w bibliotece, jednak jedynym jego wyróżnikiem jest prefiks dodawany przez identyfikatorem książki. Działy z zasady nie zmieniają swoich prefiksów, dlatego obiekt ten spełnia warunek niezmienności. Zgodnie z zasadami dotyczącymi obiektów-referencji, przypomnianymi przy poprzednim przekształceniu, klasa ta obecnie posiada metodę-fabrykę zajmującą się tworzeniem i zapamiętywaniem utworzonych instancji.


<< Poprzedni slajd | Spis treści | Następny slajd >>