O padrão de projeto que tem como finalidade separar a const...
Builder é um padrão de projeto de software criacional que permite a separação da construção de um objeto complexo da sua representação, de forma que o mesmo processo de construção possa criar diferentes representações.
https://pt.wikipedia.org/wiki/Builder
Usando comentário anterior:
Factory Method - Subclasses decidem qual classe instanciar.
Abstract Factory: Criação de família, sem especificar suas classes concretas.
Builder: Separa a construção do objeto complexo da sua representação.
Prototype- objetos por copia de uma instancia/ clonagem
composite - reconhece partes / todo das hierarquias. Clientes consideram múltiplos objetos atômicos e composites uniformemente. Possui interface comum para composites e átomos em superclasse e múltiplas implementações.
Imagine que você está montando um sanduíche. Existem várias opções de pão, recheio e molho, e você pode criar combinações infinitas.
Opção A: Escrever um manual gigante com todas as combinações possíveis. Seria trabalhoso e difícil de atualizar.
Opção B: Usar um "construtor" de sanduíches! Você escolhe o pão, o recheio e o molho, e o construtor monta o sanduíche para você. Essa é a ideia do padrão Builder, que você escolhe!
O padrão Builder é ideal para quando você precisa construir objetos complexos com várias opções de configuração. Ele ajuda a organizar o código, aumentar a flexibilidade e facilitar a reutilização.
Pense em um "construtor" que monta o objeto com base nos seus ingredientes.