|
|
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)
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 >>