Zpo-9-wyk-Slajd41

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Move Field

Move Field


Przeniesienie pola jest przekształceniem dotyczącym dwóch klas związanych ze sobą relacją asocjacji, agregacji lub kompozycji (ale nie dziedziczenia). Wykonuje się je w sytuacji, gdy pole to jest częściej używane przez obcą klasę niż przez klasę macierzystą. Celem jest zatem zwiększenie spójności klas poprzez przeniesienie go do właściwej klasy.

Pierwszym krokiem jest hermetyzacja pola i udostępnienie metod dostępu do niego get/set (zob. przekształcenie Encapsulate Field). Następnie należy utworzyć identyczne pole wraz z metodami dostępu w klasie docelowej. W tym momencie należy zmienić metody set/get w klasie oryginalnej, tak aby wywoływały ich odpowiedniki w klasie docelowej. Nieużywane pole w klasie źródłowej może zostać w tym momencie usunięte.

Warto zwrócić uwagę, że po przekształceniu do pola można odwołać się zarówno z klasy źródłowej, jak i klasy docelowej, co pozwala na elastyczne dostosowanie klientów do nowego położenia pola. W pewien sposób pozwala to także ukryć strukturę tych dwóch klas, jednak z drugiej strony rozmywa nieco ich odpowiedzialność oraz wiąże je silną zależnością.


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