Zpo-6-wyk-Slajd11: 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:
==Preserve Whole Object==
==Chain of Responsibility: struktura==


[[Image:zpo-6-wyk-Slajd11.PNG|Preserve Whole Object]]
[[Image:zpo-6-wyk-Slajd11.PNG|Chain of Responsibility: struktura]]




Kolejne trzy przekształcenia służą do ograniczenia liczby parametrów metody. W przypadku tej refaktoryzacji – Preserve Whole Object, czyli zachowaniu całego obiektu – rozwiązywany przez nią problem polega na przekazywaniu do metody jako oddzielnych parametrów pól lub wyników wykonania metod jednego obiektu. Przekształcenie pozwala zastąpić grupę takich parametrów jednym – obiektem będącym ich źródłem.
Struktura tego wzorca jest bardzo prosta: obiekty typu Handler są powiązane ze sobą w postaci jednokierunkowej kolejki (albo łańcucha). Nadchodzące od klienta żądanie jest przekazywane wzdłuż tego łańcucha, gdzie każdy obiekt typu Handler ma szansę na ich obsłużenie. Co ważne, obiekty typu Handler są od siebie niezależne, tzn. nie wiedzą o sobie nic (poza abstrakcyjnym wskazaniem na obiekt następnika).
 
Refaktoryzacja rozpoczyna się od dodania nowego parametru – referencji do całego obiektu. Następnie odwołania do parametrów występujące wewnątrz wewnątrz metody są kolejno zastępowane wywołaniami metod lub odwołaniami do pól obiektu – nowego parametru. Gdy wszystkie pozostałe parametry staną się bezużyteczne, mogą zostać usunięte z klasy.




[[zpo-6-wyk-Slajd10 | << Poprzedni slajd]] | [[zpo-6-wyk-toc|Spis treści ]] | [[zpo-6-wyk-Slajd12 | Następny slajd >>]]
[[zpo-6-wyk-Slajd10 | << Poprzedni slajd]] | [[zpo-6-wyk-toc|Spis treści ]] | [[zpo-6-wyk-Slajd12 | Następny slajd >>]]

Aktualna wersja na dzień 11:09, 17 paź 2006

Chain of Responsibility: struktura

Chain of Responsibility: struktura


Struktura tego wzorca jest bardzo prosta: obiekty typu Handler są powiązane ze sobą w postaci jednokierunkowej kolejki (albo łańcucha). Nadchodzące od klienta żądanie jest przekazywane wzdłuż tego łańcucha, gdzie każdy obiekt typu Handler ma szansę na ich obsłużenie. Co ważne, obiekty typu Handler są od siebie niezależne, tzn. nie wiedzą o sobie nic (poza abstrakcyjnym wskazaniem na obiekt następnika).


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