Zpo-9-wyk-Slajd18: 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:
==Pool of Objects: struktura==
==Replace Parameter with Method==


[[Image:zpo-9-wyk-Slajd18.PNG|Pool of Objects: struktura]]
[[Image:zpo-9-wyk-Slajd18.PNG|Replace Parameter with Method]]




Najważniejszym elementem wzorca jest klasa Pool, która w porównaniu do wymienionych wcześniej wzorców Singleton i FactoryMethod ma zwiększony zakres odpowiedzialności. Nie tylko zajmuje się tworzeniem instancji klasy ReusableObject, ale także zarządzaniem cyklem życia już utworzonych obiektów. Najczęściej klasa ta utrzymuje zbiór aktywnych obiektów ReusableObject, które są przekazywane klientom na żądanie i przyjmowane od nich z powrotem po wykorzystaniu. Zatem klasa Pool posiada interfejs służący do tworzenia produktu (metoda ''getInstance'' ''())'' oraz ich zwracania (metoda ''returnInstance'' ''()).'' Z punktu widzenia klienta obiekt klasy Pool jest fabryką produktów, ponieważ klient nie musi zajmować się ich tworzeniem, zarządzaniem, odtwarzaniem etc.
Ostatnim przekształceniem należącym do kategorii związanej z przekształceniami w obrębie sygnatury metody jest zastąpienie parametru wywołaniem metody. Stosuje się je w sytuacjach, gdy wynik wykonania metody staje się parametrem innej metody tego obiektu. Zamiast obliczać tę wartość na zewnątrz metody i przekazywać ją jako parametr, można dokonać niezbędnych obliczeń wewnątrz niej.
 
Przekształcenie rozpoczyna się od wyłączenia polecenia obliczenia wartości parametru do nowej metody (o ile nie jest już obliczany przez dedykowaną metodę). Następnie należy wewnątrz metod zastąpić odwołania do parametru wywołaniami metody, która go oblicza. Trzeba jednak zwrócić uwagę na potencjalne efekty uboczne, związane z wielokrotnym obliczaniem wartości parametru (np. jeżeli obliczanie tej wartości modyfikuje jakąś zmienną). W ostatnim kroku nieużywany parametr może zostać usunięty.




[[zpo-9-wyk-Slajd17 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd19 | Następny slajd >>]]
[[zpo-9-wyk-Slajd17 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd19 | Następny slajd >>]]

Aktualna wersja na dzień 18:04, 4 lis 2006

Replace Parameter with Method

Replace Parameter with Method


Ostatnim przekształceniem należącym do kategorii związanej z przekształceniami w obrębie sygnatury metody jest zastąpienie parametru wywołaniem metody. Stosuje się je w sytuacjach, gdy wynik wykonania metody staje się parametrem innej metody tego obiektu. Zamiast obliczać tę wartość na zewnątrz metody i przekazywać ją jako parametr, można dokonać niezbędnych obliczeń wewnątrz niej.

Przekształcenie rozpoczyna się od wyłączenia polecenia obliczenia wartości parametru do nowej metody (o ile nie jest już obliczany przez dedykowaną metodę). Następnie należy wewnątrz metod zastąpić odwołania do parametru wywołaniami metody, która go oblicza. Trzeba jednak zwrócić uwagę na potencjalne efekty uboczne, związane z wielokrotnym obliczaniem wartości parametru (np. jeżeli obliczanie tej wartości modyfikuje jakąś zmienną). W ostatnim kroku nieużywany parametr może zostać usunięty.


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