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

Dúvida no Ex. 5 da Aula 2 - Muitos Descontos e o Chain of Responsibility

Referente a ideia de receber o próximo item pelo construtor eu pensei na seguinte abordagem:

//Código
public ItemAtual(){
    this.proximo  = new ItemProximo();
}
//Código

Desta forma estaria colocando a responsabilidade de saber quem é o próximo item para a própria classe e removendo essa responsabilidade do cliente, pois não vejo motivo para o mesmo saber quem seria o próximo de cada uma das infinitas possibilidades de classes.

Esta abordagem está incorreta ou fere alguma boa prática?

2 respostas
solução!

Oi Túlio, a ideia é justamente deixar flexível o suficiente para vc criar o fluxo que vc quiser :). Não é que é errado vc fixar dentro do construtor, mas com certeza vc está gerando um acoplamento grande entre as regras.

Sem contar que, passando o próximo como argumento, vc consegue ter uma visualização completa da cadeia de descontos :).

Obrigado