Agora um exemplo positivo de alta coesão:
public class FormCadastro { public FormCadastro() { } } public class Cliente { public Cliente() { } public void gravar (ClienteDAO dao) { } } public class Fornecedor { public Fornecedor(){ } public void gravar (FornecedorDAO dao) { } }
Este exemplo tem alta coesão porque as responsabilidades estão mais bem distribuídas e definidas nas diferentes classes. A gravação é responsabilidade da classe de persistência (DAO), por exemplo.
Por ser princípio, você deve segui-lo quando estiver desenvolvendo um software. Por quê? Porque se ignorarmos, corremos o risco de criar um software difícil de manusear e de se realizar manutenção, além de impossibilitar a reutilização de suas classes. Softwares mal estruturados têm sido a causa de incontáveis prejuízos na indústria de desenvolvimento.