Zpo-9-wyk-Slajd31: 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:
==Composite: uczestnicy==
==Inline Method==


[[Image:zpo-9-wyk-Slajd31.PNG|Composite: uczestnicy]]
[[Image:zpo-9-wyk-Slajd31.PNG|Inline Method]]




Component, podstawowy element wzorca, przede wszystkim deklaruje wspólny interfejs dla wszystkich obiektów. Jego implementacje, Leaf i Composite, reprezentują odpowiednio węzły bez potomków i węzły pośrednie.
Najprostszym przekształceniem jest komplementarne do Extract Method rozwinięcie metody, tzn. zastąpienie wywołania metody jej ciałem. Dzięki temu metody wykonujące proste obliczenia, które nie zasługują na umieszczenie w metodzie, mogą zostać usunięte.
 
Podobnie jak w wielu innych przekształceniach związanych z metodami, najpierw należy upewnić się, że metoda nie jest polimorficznie pokrywana. Dodatkowym warunkiem jest brak jej rekurencyjnych wywołań, które uniemożliwiają (lub bardzo utrudniają) prawidłowe zakończenie refaktoryzacji, oraz jedno miejsce powrotu z metody (choć w niektórych przypadkach wielokrotne instrukcje ''return'' mogą zostać zastąpione operatorem trójargumentowym). Dalsza część polega na kolejnym zastępowaniu wywołań ciałem metody oraz każdorazowym testowaniu przekształcanego fragmentu. Ostatnim krokiem jest usunięcie zbędnej metody.




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

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

Inline Method

Inline Method


Najprostszym przekształceniem jest komplementarne do Extract Method rozwinięcie metody, tzn. zastąpienie wywołania metody jej ciałem. Dzięki temu metody wykonujące proste obliczenia, które nie zasługują na umieszczenie w metodzie, mogą zostać usunięte.

Podobnie jak w wielu innych przekształceniach związanych z metodami, najpierw należy upewnić się, że metoda nie jest polimorficznie pokrywana. Dodatkowym warunkiem jest brak jej rekurencyjnych wywołań, które uniemożliwiają (lub bardzo utrudniają) prawidłowe zakończenie refaktoryzacji, oraz jedno miejsce powrotu z metody (choć w niektórych przypadkach wielokrotne instrukcje return mogą zostać zastąpione operatorem trójargumentowym). Dalsza część polega na kolejnym zastępowaniu wywołań ciałem metody oraz każdorazowym testowaniu przekształcanego fragmentu. Ostatnim krokiem jest usunięcie zbędnej metody.


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