In diversi libri di design che ho letto, a volte viene posta grande enfasi sul numero di metodi che una classe deve avere (considerando un linguaggio OO, come java o C # per esempio). Spesso gli esempi riportati in quei libri sono molto chiari e semplici, ma raramente coprono un caso "serio" o complesso.
Tuttavia, l'intervallo sembra essere compreso tra 5 e 8.
In un progetto ho sviluppato una classe "Note", con il suo attributo come proprietà: Title, Desctiption, CreateDate, ecc.
Quindi alcuni metodi di base come: getRelations (se la nota è assegnata a documenti diversi), getExpiryDate, ect.
Tuttavia, procedendo nello sviluppo dell'applicazione, erano necessarie più funzionalità e, quindi, più metodi.
So che meno metodi ha una classe, più è liberamente accoppiata. Questo è davvero un buon vantaggio in termini di modularità e riusabilità, più facile da modificare.
A proposito, se nel nostro contesto non è necessario (o addirittura senso) creare sottoclassi e tutte le funzioni necessarie sono correlate a quella classe, quanti metodi possiamo ulteriormente collegare?
Concordo sul fatto che avere più di 15 metodi, forse potrebbe essere necessaria una piccola riprogettazione.
Ma anche in quel caso, se la cancellazione di alcuni dei metodi o dell'ereditarietà non è un'opzione, quale sarebbe la strada giusta?