Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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