Zpo-5-wyk-Slajd32: 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:
==Large Class==
==Composite: konsekwencje==


[[Image:zpo-5-wyk-Slajd32.PNG|Large Class]]
[[Image:zpo-5-wyk-Slajd32.PNG|Composite: konsekwencje]]




Problem nadmiernej złożoności klas jest rozwinięciem poprzedniego przykrego zapachu. Klasa niekoniecznie musi być fizycznie zbyt długa – istotą problemu jest zbyt duża odpowiedzialność, jaką jest obarczona. W efekcie wewnątrz jednej klasy fizycznej znajdują się dwie lub więcej klas logicznych, czyli odrębnych zakresów odpowiedzialności.
Mechanizm ten jest jednym z najczęściej wykorzystywanych wzorców projektowych, np. w systemach okienkowych. Strukturę drzewiastą tworzą wówczas składowe okienek: przyciski, etykiety, listy etc.  


Jest kilka objawów tego nadużycia: klasa posiada wiele metod, pól, klas wewnętrznych, dużą liczbę metod służących jedynie wygodzie programisty etc. Na poziomie pomiarów najlepszym wskaźnikiem tego przykrego zapachu jest niska spójność klasy. Oznacza ona, że klasa powinna być podzielona na mniejsze jednostki.
Popularność tego wzorca wynika z elastycznego zarządzania złożonymi strukturami z punktu widzenia klienta: nie jest wymagana wiedza o rozmiarze i dokładnej strukturze drzewa. Ponadto wszystkie elementy struktury realizują ten sam algorytm, co znacznie ułatwia ich testowanie.  
 
Właśnie to rozwiązanie jest najczęściej stosowane w celu usunięcia problemu. Nowa klasa może być niespokrewniona z klasą oryginalną, być jej pod- lub nad-klasą lub dziedziczyć wspólny interfejs.




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

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

Composite: konsekwencje

Composite: konsekwencje


Mechanizm ten jest jednym z najczęściej wykorzystywanych wzorców projektowych, np. w systemach okienkowych. Strukturę drzewiastą tworzą wówczas składowe okienek: przyciski, etykiety, listy etc.

Popularność tego wzorca wynika z elastycznego zarządzania złożonymi strukturami z punktu widzenia klienta: nie jest wymagana wiedza o rozmiarze i dokładnej strukturze drzewa. Ponadto wszystkie elementy struktury realizują ten sam algorytm, co znacznie ułatwia ich testowanie.


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