Builder
Builder é um design pattern criacional que foca no desacoplamento entre a complexa lógica de construção e a representação de um objeto.
Introdução
As vezes a construção de um objeto pode ser complexa, devido a validações de parâmetros, busca de informações em arquivos ou bases de dados, ou até mesmo pela quantidade de parâmetros que um construtor espera receber. Nestes casos, se você “misturar” a lógica de criação do objeto com a lógica que define seu comportamento, você poderá acabar por ter uma classe pouco coesa e difícil de reaproveitar.
O design pattern Builder vem para resolver este problema, colocando tanto a lógica criacional quanto a lógica comportamental eu seus devidos lugares, por proporcionar o encapsulamento da construção de um objeto, de um modo tão claro que você poderá até desenvolver diferentes implementações para a criação de um mesmo objeto ou de um mesmo builder.
Read More »Builder