2
respostas

Padrão observer, saber o que precisa

No exemplo do padrão observer, toda vez que se cria uma nota, precisa lembrar de executar todos aqueles passos:

NotaFiscalBuilder builder = new NotaFiscalBuilder(); builder.AdicionaAcao(new EnviadorDeEmail()); builder.AdicionaAcao(new NotaFiscalDao()); builder.AdicionaAcao(new EnviadorDeSms()); builder.AdicionaAcao(new Impressora());

Se toda vez que crio uma nota preciso lembrar dessa sequencia, fica complicado. Pode ser que estou entendendo errado, mas essa sequencia não deveria estar em outro lugar?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Oi Paulo, se realmente a sequência é obrigatória para toda a nota do sistema, você isolar isso numa factory qualquer e já retornar a nota criada (mantém o builder :)).

Você pode também modificar o método para receber uma lista de 'ações' ou colocar isso no construtor.