Zpo-8-wyk-Slajd42: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Lazy Class== | ||
[[Image:zpo-8-wyk-Slajd42.PNG| | [[Image:zpo-8-wyk-Slajd42.PNG|Lazy Class]] | ||
Bezużyteczna klasa jest przeciwieństwem klasy nadmiernie rozbudowanej. Jeżeli klasa nie posiada żadnej odpowiedzialności lub jest ona ograniczona do pojedynczych drobnych funkcji, warto zastanowić się nad jej modyfikacją. Klasa bezużyteczna jest często blisko powiązana z innym przykrym zapachem – Data Class. O ile jednak w ostatnim przypadku klasa przechowuje pewne dane, o tyle klasa bezużyteczna nie posiada określonego i spójnego zakresu odpowiedzialności. | |||
Usuwanie tego zapachu może podążać dwiema drogami: zwiększając jej odpowiedzialność kosztem współpracujących z nią klas klienckich lub stopniowo ją ograniczając, a następnie usuwając z systemu. W przypadku dziedziczenia klasa jest usuwana poprzez przeniesienie jej funkcji do nadklasy i/lub podklas, natomiast w pozostałych przypadkach jej składowe są przesuwane do klientów poprzez delegacje. | |||
[[zpo-8-wyk-Slajd41 | << Poprzedni slajd]] | [[zpo-8-wyk-toc|Spis treści ]] | [[zpo-8-wyk-Slajd43 | Następny slajd >>]] | [[zpo-8-wyk-Slajd41 | << Poprzedni slajd]] | [[zpo-8-wyk-toc|Spis treści ]] | [[zpo-8-wyk-Slajd43 | Następny slajd >>]] |
Aktualna wersja na dzień 18:14, 4 lis 2006
Lazy Class
Bezużyteczna klasa jest przeciwieństwem klasy nadmiernie rozbudowanej. Jeżeli klasa nie posiada żadnej odpowiedzialności lub jest ona ograniczona do pojedynczych drobnych funkcji, warto zastanowić się nad jej modyfikacją. Klasa bezużyteczna jest często blisko powiązana z innym przykrym zapachem – Data Class. O ile jednak w ostatnim przypadku klasa przechowuje pewne dane, o tyle klasa bezużyteczna nie posiada określonego i spójnego zakresu odpowiedzialności.
Usuwanie tego zapachu może podążać dwiema drogami: zwiększając jej odpowiedzialność kosztem współpracujących z nią klas klienckich lub stopniowo ją ograniczając, a następnie usuwając z systemu. W przypadku dziedziczenia klasa jest usuwana poprzez przeniesienie jej funkcji do nadklasy i/lub podklas, natomiast w pozostałych przypadkach jej składowe są przesuwane do klientów poprzez delegacje.