Nos diferentes livros de design que eu li, às vezes é dada grande ênfase ao número de métodos que uma classe deve ter (considerando uma linguagem OO, como java ou C #, por exemplo). Freqüentemente, os exemplos relatados nesses livros são muito claros e simples, mas raramente cobrem um caso "sério" ou complexo.
No entanto, o intervalo parece estar entre 5 e 8.
Em um projeto, desenvolvi uma classe "Note", com seu atributo como propriedades: Title, Desctiption, CreateDate, etc.
Em seguida, alguns métodos básicos como: getRelations (se a nota estiver atribuída a documentos diferentes), getExpiryDate, ect.
No entanto, prosseguindo no desenvolvimento do aplicativo, foram necessárias mais funcionalidades e, portanto, mais métodos.
Eu sei que quanto menos métodos uma classe tiver, mais fracamente acoplada será. Essa é realmente uma boa vantagem em termos de modularidade e reutilização, além de mais fácil de editar.
A propósito, se em nosso contexto não há necessidade (ou mesmo sentido) de criar subclasses e todas as funções necessárias estão relacionadas a essa classe, quantos métodos podemos anexar ainda mais?
Concordo que, com mais de 15 métodos, talvez seja necessário um novo design.
Mas mesmo nesse caso, se a exclusão de alguns dos métodos ou herança não é uma opção, qual seria o caminho correto?