O padrão Cadeia de Responsabilidades é só aplicado nessas circunstâncias do projeto, ou seja, sequencialmente dentro de um regra de negócio ?
O padrão Cadeia de Responsabilidades é só aplicado nessas circunstâncias do projeto, ou seja, sequencialmente dentro de um regra de negócio ?
Do que aprendi em outros lugares, você não vai direto "ah... vamo implementar o padrão x com o y e uma pitada de z"
Conforme vai aumentando e refatorando o código você vai vendo oportunidades de melhorar (code smells, SOLID...) tipo no video, então você começa a ir empurrando pra algum padrão e implementa o que for o mais adequado.
No caso da Cadeia de responsabilidade, serve pra qualquer coisa onde uma chamada depende do resultado/verificação de outra
Acho bem parecido com o decorator, só que em vez de "somar funcionalidades", cada um faz uma coisa... quase tipo uma esteira de produção, pense tipo uma fabrica de automoveis...
return new MontarChassi(
new VerificarPecas(
new PegarPecas()));
que por sinal daria pra escrever tipo assim:
var pecas = new PegarPecas();
var verificarPecas = new VerificarPecas(pecas);
var chassiMontado = new MontarChassi(verificarPecas);
return chassiMontado;