Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Estou com dúvida no curso de Design Patterns para bons programadores, no exercício do capítulo Muitos Descontos e o Chain of Responsibility.

Não seria melhor utilizar uma factory, que retorna o resultado na formatação correta conforme o formato passado?

Percorrer uma cadeia de classes para saber o retorno me parece trabalho desnecessário neste caso.

2 respostas
solução!

Oi Sérgio,

Poderíamos sim. Em termos de implementação, isso também funcionaria.

O problema é costumamos não deixar regras de negócio na fábrica. Ela costuma ser simples. Já uma classe que faz parte de um chain, geralmente contém alguma regra de negócio mais complexa para decidir se aquele filtro deve ser executado ou não.

Além disso, dependendo da sua implementação de chain, você pode ter mais de uma classe na cadeia que executa naquele momento.

Faz sentido?

Um abraço!

Olá Mauricio. Faz sentido sim.

Pensei na factory pois seria um acesso direto a implementação daquele formato, sem a necessidade de passar por toda uma cadeia para descobrir qual a classe que possui a regra de negócio daquele formato específico. A fábrica em si seria simples, ela delegaria para a implementação correta e essa sim teria a regra de negócio.

Realmente o chain faz mais sentido se eu tiver mais de uma classe que execute naquele momento.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software