Zpo-8-wyk-Slajd46: 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:
==Introduce Foreign Method==
==Divergent Change==


[[Image:zpo-8-wyk-Slajd46.PNG|Introduce Foreign Method]]
[[Image:zpo-8-wyk-Slajd46.PNG|Divergent Change]]




Kolejne dwa przekształcenia dotyczą problemu związanego z niewystarczającą funkcjonalnością oferowaną przez importowaną bibliotekę, której nie można bezpośrednio uzupełnić. Ten przypadek opisuje sytuację, w której w bibliotece brakuje zaledwie kilku metod. Wówczas sugerowanym rozwiązaniem jest umieszczenie ich w kodzie klienta, chociaż obniża to spójność kodu. Sytuacja taka wymaga komentarza umieszczonego przy każdej metodzie, który uzasadni umiejscowienie jej właśnie w tej klasie.
Konieczność ciągłych modyfikacji klasy z wielu powodów wskazuje na jej niejasne przeznaczenie: pełni ona wiele niezależnych ról i zależy od wielu czynników.
 
Rozwiązaniem jest wydzielenie z niej fragmentów kodu modyfikowanych z jednego powodu i stworzenie z nich oddzielnej klasy. Dzięki temu modyfikacje będą przeniesione do oddzielnych klas, co pozwoli ograniczyć zasięg zmian.




[[zpo-8-wyk-Slajd45 | << Poprzedni slajd]] | [[zpo-8-wyk-toc|Spis treści ]] | [[zpo-8-wyk-Slajd47 | Następny slajd >>]]
[[zpo-8-wyk-Slajd45 | << Poprzedni slajd]] | [[zpo-8-wyk-toc|Spis treści ]] | [[zpo-8-wyk-Slajd47 | Następny slajd >>]]

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

Divergent Change

Divergent Change


Konieczność ciągłych modyfikacji klasy z wielu powodów wskazuje na jej niejasne przeznaczenie: pełni ona wiele niezależnych ról i zależy od wielu czynników.

Rozwiązaniem jest wydzielenie z niej fragmentów kodu modyfikowanych z jednego powodu i stworzenie z nich oddzielnej klasy. Dzięki temu modyfikacje będą przeniesione do oddzielnych klas, co pozwoli ograniczyć zasięg zmian.


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