W różnych książkach projektowych, które czytam, czasami duży nacisk kładzie się na liczbę metod, które musi mieć klasa (biorąc pod uwagę język OO, na przykład java lub C #). Często przykłady podane w tych książkach są bardzo schludne i proste, ale rzadko dotyczą „poważnego” lub złożonego przypadku.
Jednak wydaje się, że zakres wynosi od 5 do 8.
W projekcie opracowałem klasę „Notatka”, której atrybutem są właściwości: Tytuł, Opis, CreateDate itp.
Następnie kilka podstawowych metod, takich jak: getRelations (jeśli notatka jest przypisana do różnych dokumentów), getExpiryDate, ect.
Jednak w dalszym rozwoju aplikacji wymagana była większa funkcjonalność, a zatem więcej metod.
Wiem, że im mniej metod ma klasa, tym bardziej jest ona luźno powiązana. Jest to rzeczywiście dobra zaleta pod względem modułowości i możliwości ponownego użycia, a także łatwiejsza do edycji.
Nawiasem mówiąc, jeśli w naszym kontekście nie ma potrzeby (ani nawet nie ma sensu) tworzenia podklas, a wszystkie potrzebne funkcje są powiązane z tą klasą, to ile metod możemy dalej dołączyć?
Zgadzam się, że mając ponad 15 metod, być może może być konieczne trochę przeprojektowanie.
Ale nawet w takim przypadku, jeśli usunięcie niektórych metod lub dziedziczenie nie jest opcją, jaki byłby właściwy sposób?