Zpo-5-wyk-Slajd31: 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:
==Long Method==
==Composite: uczestnicy==


[[Image:zpo-5-wyk-Slajd31.PNG|Long Method]]
[[Image:zpo-5-wyk-Slajd31.PNG|Composite: uczestnicy]]




Kolejnym często spotykanym problemem w kodzie są długie metody. Istotna nie jest jednak bezwzględna długość (jest ona tylko objawem), a liczba funkcji, jakie metoda realizuje. Przyczyn jest wiele – jedną z nich jest niewłaściwy podział aplikacji na warstwy funkcjonalnej i brak wsparcia ze strony metod w niższych warstwach. Wówczas długa metoda sama realizuje funkcje, które powinny być dostarczone przez inną warstwę aplikacji.
Component, podstawowy element wzorca, przede wszystkim deklaruje wspólny interfejs dla wszystkich obiektów. Jego implementacje, Leaf i Composite, reprezentują odpowiednio węzły bez potomków i węzły pośrednie.
 
Podobnie jak w przypadku duplikatów, podstawową metodą usuwania tego problemu jest wyłączanie kodu do nowych metod. Jednak nie zawsze jest to możliwe – podział często jest blokowany przez zależności między zmiennymi lokalnymi w metodzie. Wówczas można zamienić je w metody, co pozwala zmniejszyć liczbę powiązań między nimi. Jeżeli to niemożliwe, warto zamienić metodę w nową klasę, zmieniając parametry metody w pola klasy.
 
Ponieważ długie metody posiadają często długie listy parametrów, warto również usunąć ten problem za pomocą łączenia ich we wspólne klasy.




[[zpo-5-wyk-Slajd30 | << Poprzedni slajd]] | [[zpo-5-wyk-toc|Spis treści ]] | [[zpo-5-wyk-Slajd32 | Następny slajd >>]]
[[zpo-5-wyk-Slajd30 | << Poprzedni slajd]] | [[zpo-5-wyk-toc|Spis treści ]] | [[zpo-5-wyk-Slajd32 | Następny slajd >>]]

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

Composite: uczestnicy

Composite: uczestnicy


Component, podstawowy element wzorca, przede wszystkim deklaruje wspólny interfejs dla wszystkich obiektów. Jego implementacje, Leaf i Composite, reprezentują odpowiednio węzły bez potomków i węzły pośrednie.


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