O Padrão Builder para Construção de Objetos
Imagine que você precisa montar um pedido em um sistema. Esse pedido pode ter uma quantidade enorme de detalhes: quem é o cliente, quais itens ele comprou, se vai ter entrega, qual o endereço, se tem cupom de desconto, forma de pagamento, observações especiais, e por aí vai. Nem todos esses dados são obrigatórios; alguns pedidos são simples, outros são extremamente detalhados. Agora, pense em como escreveríamos um código para criar esse objeto "Pedido". Se tentássemos usar um único construtor, ele teria dezenas de parâmetros, algo como new Pedido(cliente, itens, endereco, temEntrega, desconto, pagamento, ...) . Isso se tornaria um pesadelo: difícil de ler, fácil de errar a ordem dos parâmetros e impossível de manter. É para resolver exatamente esse problema que existe o Padrão Builder . Em vez de tentar criar o objeto complexo de uma só vez, o Builder nos permite construí-lo passo a passo , de forma clara, flexível e muito mais legível. A ideia central é separar a con...