Padrão Builder: Como construir objetos complexos em Java (Effective Java’s Builder pattern)

Classes com muitos atributos opcionais em seus métodos construtores podem trazer bastante sujeira para o código, além de aumentar a probabilidade de erros quanto mais atributos forem necessários para instanciar um objeto da classe em questão. Considere o exemplo a seguir da classe Produto, que possui 8 atributos. import java.math.BigDecimal; public class Produto { private…