Zpo-10-wyk-Slajd5: 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:
==Factory Method: konsekwencje==
==Przykład==


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




Najważniejszym efektem użycia wzorca jest przeniesienie odpowiedzialności za tworzenie obiektów klasy Product z klienta na obiekt klasy Creator. Dzięki temu klient może założyć, że za każdym razem, gdy wywoła metodę ''factoryMethod'' ''(),'' otrzyma instancję klasy gotową do użycia.  
Przykład przedstawia relację pomiędzy klasami Czytelnik i Wypożyczenie. Klasa Wypożyczenie przechowuje referencję do obiektu Czytelnik, jednak podczas tworzenia swojej instancji, a także zmieniając przypisanego Czytelnika zawsze tworzy nową instancję tej klasy. Zatem obiekt Czytelnik jest traktowany jako obiekt-wartość, mimo że domniemana złożoność tego obiektu nie uzasadnia takiej decyzji. Dlatego konieczne jest wykonanie przekształcenia, które zmieni sposób tworzenia obiektów klasy Czytelnik.
 
Ponadto wzorzec umożliwia tworzenie nie tylko instancji jednej klasy, ale całych ich hierarchii, z możliwością wyboru klasy i użytego konstruktora. Bezpośrednie wywołanie konstruktora nie daje takiej możliwości.




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

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

Przykład

Przykład


Przykład przedstawia relację pomiędzy klasami Czytelnik i Wypożyczenie. Klasa Wypożyczenie przechowuje referencję do obiektu Czytelnik, jednak podczas tworzenia swojej instancji, a także zmieniając przypisanego Czytelnika zawsze tworzy nową instancję tej klasy. Zatem obiekt Czytelnik jest traktowany jako obiekt-wartość, mimo że domniemana złożoność tego obiektu nie uzasadnia takiej decyzji. Dlatego konieczne jest wykonanie przekształcenia, które zmieni sposób tworzenia obiektów klasy Czytelnik.


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