1
resposta

Lista de interface ou chain of responsibility?

Quando o Rodrigo começou a mostrar o problema, eu pensei que ele iria colocar o chain of responsibility ali no meio (é, eu não sabia da ordem das formações e vi o curso de design patterns primeiro hehehe). Aí fiquei com três dúvidas:

  1. Quando uasr chain of responsibility e quando usar essa abordagem da lista de interfaces?
  2. O chain of responsibility fere o Open Closed? É que se eu adicionar uma nova responsabilidade, vou ter que ir lá no construtor da minha cadeia e instanciar o novo objeto...
  3. Esse esquema da lista seria o padrão observer?
1 resposta

Oi Rafael,

  1. Geralmente o chain of responsibility é quando você tem várias classes, mas apenas uma delas vai ser "aplicada". No caso aqui da validação do reajustes a ideia é chamar todas as validações
  2. É que aqui no curso a gente está fazendo tudo manualmente, mas em um projeto real teríamos a vantagem da injeção de dependências automática, não precisando instanciar a nova classe
  3. Na verdade não, pois o observer tem outro objetivo, cujo foco é desacoplar totalmente a classe que dispara um evento das classes que executam algo quando o evento for disparado. Aqui seria mais o pattern Strategy sendo aplicado

Bons estudos!