Aula 30 e 31

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

Nenhum comentário: