Zpo-10-wyk-Slajd3: 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: struktura==
==Agenda(1)==


[[Image:zpo-10-wyk-Slajd3.PNG|Factory Method: struktura]]
[[Image:zpo-10-wyk-Slajd3.PNG|Agenda(1)]]




Klient odwołuje się do dwóch interfejsów (lub klas abstrakcyjnych): Creator, zawierającej metodę tworzącą produkty, i Product, reprezentującą obiekty tworzone przez Factory Method. Oba interfejsy posiadają implementacje powiązane parami: obiekt klasy ConcreteCreator o przeciążonej metodzie ''factoryMethod'' ''()'' tworzy instancję obiektu ConcreteProduct. Dzięki temu, podczas zmiany obiektu Creator, jednocześnie zmieniany jest tworzony produkt. Warto zwrócić na dualizm hierarchii klas produktu i kreatora, który pozwala na abstrakcyjne traktowanie całego procesu tworzenia obiektów za pomocą wymiennych producentów, co jest niemożliwe przy bezpośrednim użyciu konstruktora.
Pierwsza część wykładu będzie obejmowała dwa przekształcenia, zmieniające sposób odwoływania się do obiektu z wartości na referencję i z referencji na wartość.
 
Z punktu widzenia klienta metoda ''factoryMethod'' ''()'' jest równoważna pod względem funkcjonalnym z konstruktorem: jej wywołanie powoduje utworzenie obiektu żądanego typu. Warto zwrócić uwagę, że wzorzec ten pozwala także na dodatkowy stopień swobody: bezpośrednie wywołanie konstruktora przez klienta zawsze powoduje utworzenie obiektu konkretnej klasy (konstruktory nie są metodami polimorficznymi), natomiast użycie wzorca Factory Method pozwala metodzie tworzącej obiekty na wybór klasy obiektu i sposobu jego tworzenia.




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

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

Agenda(1)

Agenda(1)


Pierwsza część wykładu będzie obejmowała dwa przekształcenia, zmieniające sposób odwoływania się do obiektu z wartości na referencję i z referencji na wartość.


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