Zpo-9-wyk-Slajd28: 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:
==Adapter: konsekwencje==
==Split Temporary Variable==


[[Image:zpo-9-wyk-Slajd28.PNG|Adapter: konsekwencje]]
[[Image:zpo-9-wyk-Slajd28.PNG|Split Temporary Variable]]




Adapter, niezależnie od swojego podstawowego przeznaczenia, wprowadza dodatkową warstwę abstrakcji, która pozwala uniknąć bezpośredniej zależności pomiędzy klientem a obiektem wykonującym żądania. Dzięki temu relację pomiędzy nimi można traktować w sposób elastyczny, np. zmieniając liczbę aktywnych obiektów Adaptee, którymi zarządza jeden Adapter.  
To przekształcenie dotyczy problemu wielokrotnego użycia zmiennych lokalnych do przechowywania nie związanych ze sobą danych. W efekcie nazwa użytej w ten sposób zmiennej nie oznacza już swego pierwotnego przeznaczenia, co pogarsza czytelność i obniża zrozumienie kodu. Celem refaktoryzacji jest podział jej na nowe zmienne, tak aby przypisanie wartości zawsze dotyczyło nowej zmiennej lokalnej.


Wzorzec może alternatywnie wykorzystywać dwa rodzaje relacji: kompozycję i dziedziczenie; użycie tej pierwszej daje więcej możliwości modyfikacji systemu w przyszłości.
Przekształcenie jest realizowane przy istotnym wsparciu ze strony kompilatora. Pierwszym krokiem jest zadeklarowanie zmiennej jako sfinalizowanej. To powoduje, że próba kompilacji automatycznie wskazuje miejsce ponownego przypisania wartości do tej zmiennej. W tym miejscu należy zadeklarować nową zmienną o nazwie odpowiadającej jej przeznaczeniu, i kontynuować pracę aż do usunięcia wszystkich przypisań.
 
Możliwa jest również rozbudowa tego wzorca do wzorca Decorator, tzn. rozszerzenie funkcjonalności obiektu Adaptee w Adapterze.  




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

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

Split Temporary Variable

Split Temporary Variable


To przekształcenie dotyczy problemu wielokrotnego użycia zmiennych lokalnych do przechowywania nie związanych ze sobą danych. W efekcie nazwa użytej w ten sposób zmiennej nie oznacza już swego pierwotnego przeznaczenia, co pogarsza czytelność i obniża zrozumienie kodu. Celem refaktoryzacji jest podział jej na nowe zmienne, tak aby przypisanie wartości zawsze dotyczyło nowej zmiennej lokalnej.

Przekształcenie jest realizowane przy istotnym wsparciu ze strony kompilatora. Pierwszym krokiem jest zadeklarowanie zmiennej jako sfinalizowanej. To powoduje, że próba kompilacji automatycznie wskazuje miejsce ponownego przypisania wartości do tej zmiennej. W tym miejscu należy zadeklarować nową zmienną o nazwie odpowiadającej jej przeznaczeniu, i kontynuować pracę aż do usunięcia wszystkich przypisań.


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