Padrão Invenção Pura
Qual objeto é responsável quando você está desesperado e não quer violar a coesão alta e o acoplamento baixo?
Atribuir um conjunto de responsabilidades altamente coeso a uma classe de "comportamento" artificial ou de conveniência, que não represente um conceito no domínio do problema - algo inventado, para suportar a coesão alta, o acoplamento baixo e a reutilização.
A solução é criar uma nova classe que é unicamente responsável por salvar objetos em algum tipo de meio de armazenamento persistente, como um banco de dados relacional.
Esta classe é uma Invenção Pura.
Padrão Indireção
Como atribuir responsabilidades para evitar o acoplamento direto?
Atribua a responsabilidade a um objeto intermediário para ser o mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados.
O exemplo de uma Invenção Pura de desacoplar Venda dos serviços de banco de dados relacionais, também é um exemplo de Indireção. A nova classe criada atua como um intermediário entre Venda e o banco de dados.
Os objetos se subscrevem junto a um gerenciador de eventos, demonstrando seu interesse em certos eventos; outros objetos informam a ocorrência de eventos para o gerenciador de eventos, que notifica os objetos que se inscreveram para aquele evento.
Referencias: http://groups.msn.com/cafedotnet/grasppadresdesoftware.msnw
http://www.inf.ufg.br/~juliano/ensino/especializacao/ProjSw2007/ProjetoOO.pdf
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário