Problema: Quem deve criar novas instancias de uma classe?
Solução: Atribuir a classe B a resonsabilidade de criar instancias de A quando.
a) B agrega objetos de classe A
b) B contém instancias de A
c) B usa uma coleção de A
d) B possui os dados para criar A
B é criador de A se mais de uma opção se aplica
Exemplo
No estudo de caso, quem deveria criar uma instância de LinhaDetalheVenda?
Pelo padrão Creator, precisamos achar alguém que agrega, contém, ... instâncias de LinhaDetalheVenda
Considere o modelo conceitual parcial abaixo:
Venda agrega instâncias de LinhaDetalheVenda e é portanto um bom candidato para criar as instâncias
Chegamos aos seguintes diagramas:
Discussão
Escolhemos um criador que deve estar conectado ao objeto criado, de qualquer forma, depois da criação
Isso leva a fraco acoplamento
Exemplo de criador que possui os valores de inicialização
Uma instância de Pagamento deve ser criada
A instância deve receber o total da venda
Quem tem essa informação? Venda
Venda é um bom candidato para criar objetos da classe Pagamento
Consequências
Fraco acoplamento, já que o objeto criado deve normalmente ser visível ao criador, depois da criação
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário