Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Builder Duvidas

Padrão Builder em qual cenário seria ideal para a sua implementação ? porque vemos que são alimentadas duas classes: "NotaFiscal " e "NotaFiscalBuilder", ambas com os mesmos atributos, Se for necessário inserir no futuro um novo atributo na classe "NotaFiscal" isso não ia ficar de forma muito deselegante, pelo o fato de ter que implementar também esse atributo na classe "NotaFiscalBuilder" ?

1 resposta
solução

Olá Walerson,

A idéia de termos utilizarmos o pattern Builder é a questão de facilitar a criação de objetos. Poderíamos passar todos os atributos dentro do construtor da classe, mas poderiamos achar algo assim :

new Objeto(1, 2, null, null, null, null, null, "nome");

Todos esses valores nulos não são tão importantes, mesmo que sejam atributos do nosso objeto.

Agora em nosso Builder :

Objeto obj = new ObjetoBuilder().comValor(1).comQtd(2).comNome("nome").build();

Dessa forma, deixamos bem mais nítido e fica mais fácil criarmos o objeto de fato.

Caso o atributo que você queira adicionar seja vital, você também terá que colocar no seu builder, mas estará bem encapsulado além de ser bem fácil manipular esse objeto depois.

Espero ter ajudado.

Abraços :D

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software