1
resposta

Passar ações de um "Observer" no construtor do "Builder"

Vantagens

  • Se as ações são consideradas obrigatórias na construção do objeto montado pelo "builder", passá-las no construtor, obriga o desenvolvedor informá-las e impede que o objeto seja montado sem elas;
    • Nesta situação teria que ter uma tratamento para quando a lista vier nula ou vazia;

Desvantagens

  • Se as ações são consideradas opcionais na construção do objeto montado pelo "builder", teríamos que passar a lista vazia ou nula no construtor. Nesta situação o "builder" perde a sua facilidade de leitura e entendimento (Fluent Interface), podendo ficar complexo conforme ele cresce, abrindo brecha para inserir mais parâmetros opcionais e perdendo o sentido de se ter um "builder", dificultando as manutenções futuras;
1 resposta

Olá, Evandro

Muito bom.

Uma das vantagens de passar as ações no construtor é que, se essas ações são consideradas obrigatórias na construção do objeto montado pelo Builder, ao passá-las no construtor, você obriga o desenvolvedor a informá-las e impede que o objeto seja montado sem elas. Isso garante que o objeto esteja sempre em um estado válido e completo. No entanto, é importante tratar o caso em que a lista de ações é nula ou vazia, para evitar erros durante a construção do objeto.

Por outro lado, se as ações são consideradas opcionais na construção do objeto, passar a lista vazia ou nula no construtor pode tornar o código mais complexo e dificultar a leitura e o entendimento do Builder. Isso pode comprometer a fluidez da interface do Builder, que é uma das vantagens desse padrão de projeto. Além disso, ao permitir que o Builder tenha mais parâmetros opcionais, você pode acabar perdendo o sentido de ter um Builder e tornar as manutenções futuras mais difíceis.

bons estudos!