Padrão Criador
Problema: Quem deveria ser responsável pela criação de uma nova instância de classe?
Solução: Atribuir à classe B a responsabilidade de criar uma instância da classe A se uma das seguintes condições for verdadeira:
– B agrega objetos A;
– B contém objetos A;
– B registra instâncias de objetos A;
– B usa de maneira muito próxima objetos A;
– B tem os dados de inicialização de A (B é expert em
relação à criação de A.
Acoplamento
O acoplamento é uma medida de quão fortemente uma classe está conectada a outras classes, tem conhecimento das mesmas ou depende delas.
Problema: Como aumentar independência dos objetos de forma a possibilitar a sua reutilização?
Solução: Atribuindo responsabilidades de maneira que o acoplamento permaneça fraco.
Alta Coesão
Coesão é a medida de quão fortemente relacionadas e focalizadas são as responsabilidades de uma classe.
Problema: Como manter a complexidade de um sistema ou objeto sob controle?
Solução: Atribuindo responsabilidades de maneira que a coesão permaneça alta.
Acoplamento fraco e coesão alta são princípios a serem seguidos durante todas as decisões de projeto; são objetivos adjacentes a serem levados em conta continuamente.
Uma classe com coesão baixa faz muitas coisas não relacionadas, ou executa demasiado trabalho.
»Coesão funcional alta especialização das classes;
»Uma classe com Coesão alta tem um número relativamente pequeno de métodos, com funcionalidades altamente relacionadas;
»A manutenção e as melhorias do sistema são facilitadas;
»Reduz o impacto de mudanças;
»Aumenta o potencial de reutilização;
»Não deve ser utilizado isolado dos outros padrões.