Zpo-8-wyk-Slajd37: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Message Chains== | ||
[[Image:zpo-8-wyk-Slajd37.PNG| | [[Image:zpo-8-wyk-Slajd37.PNG|Message Chains]] | ||
Omówione wcześniej prawo Demeter stanowi regułę opisującą prawidłowy sposób wiązania ze sobą niespokrewnionych obiektów. Omawiany przykry zapach stanowi naruszenie prawa Demeter: metoda w jednym z obiektów dokonuje swoistej podróży przez cały system, wywołując metody w celu znalezienia kolejnych obiektów. Takie rozwiązanie powoduje, że metoda ta jest zależna od całej reszty systemu. | |||
Rozwiązaniem tego problemu może być stworzenie dodatkowych metod ukrywających delegacje w kolejnych obiektach. Zwiększy to liczbę metod, ale zmniejszy liczbę powiązań pomiędzy obiektami. Można również próbować przesuwać metody między obiektami znajdującymi się wewnątrz łańcucha. | |||
[[zpo-8-wyk-Slajd36 | << Poprzedni slajd]] | [[zpo-8-wyk-toc|Spis treści ]] | [[zpo-8-wyk-Slajd38 | Następny slajd >>]] | [[zpo-8-wyk-Slajd36 | << Poprzedni slajd]] | [[zpo-8-wyk-toc|Spis treści ]] | [[zpo-8-wyk-Slajd38 | Następny slajd >>]] |
Aktualna wersja na dzień 18:14, 4 lis 2006
Message Chains
Omówione wcześniej prawo Demeter stanowi regułę opisującą prawidłowy sposób wiązania ze sobą niespokrewnionych obiektów. Omawiany przykry zapach stanowi naruszenie prawa Demeter: metoda w jednym z obiektów dokonuje swoistej podróży przez cały system, wywołując metody w celu znalezienia kolejnych obiektów. Takie rozwiązanie powoduje, że metoda ta jest zależna od całej reszty systemu.
Rozwiązaniem tego problemu może być stworzenie dodatkowych metod ukrywających delegacje w kolejnych obiektach. Zwiększy to liczbę metod, ale zmniejszy liczbę powiązań pomiędzy obiektami. Można również próbować przesuwać metody między obiektami znajdującymi się wewnątrz łańcucha.