Definição:
Separa a criação do objeto complexo da sua representação. O mesmo processo de construção pode criar diferentes representações.
As classes e/ou objetos que participam deste padrão são:
• Builder (VeiculoBuilder)
o especifica uma abstract interface para a criação das partes do objeto tipo Produto
• ConcreteBuilder (MotoBuilder, CarroBuilder, CaminhaoBuilder)
o constrói e reúne partes do objeto Produto que implementa a interface Builder
o define e marca a criação da representação do objeto
o fornece uma interface para devolver um objeto do tipo Produto
• Director (Concessionaria)
o constrói um objeto usando a interface Builder
• Product (Veiculo)
o representa o objeto complexo antes da construção.
o incluí as classes que definen as partes que constituem o objeto, incluindo interfaces para reunir as partes no resultado final
Builder: Quando e onde usar?
O padrão Builder é um padrão de projeto de criação de objetos que permite o cliente contruir um objeto complexo especificando somente seu tipo e conteúdo. Os detalhes da construção são escondidos inteiramente do cliente. A motivação mais comum para usar o padrão Builder é para simplificar o code do cliente que cria objetos complexos. O Cliente pode apenas especificar as etapas que são necessárias para o Builder criar o objeto, sem ter conhecimento de como o trabalho atual é finalizado.
Um cenário aonde você deve considerar o uso do padrão de projeto Builder é quando é deselvolvido um gerador de código. Você pode escrever uma aplicação que cria stored procedures para diferentes tipos de banco de dados(SQL Server, Oracle, DB2). A saída real é bastante diferente, mas as etapas para a criação dos procedimentos contidos no CRUD(Create, Read, Update, Delete) são todos muitos similares.
O padrão Builder não é amplamente usado, mas pode ser encontrado em duas classes do .NET Framework. VBCodeProvider e CSharpCodeProvider criam classes Builder através do método CreateGenerator. O método CreateGenerator retorna uma interface ICodeGenerator onde a geração do código fonte pode ser controlado.
Para ver um exemplo do design pattern Builder na prática é só baixar o projeto de exemplo que segue no link abaixo:
Exemplo padrão Builder (VS2008)
Até a próxima...
Assinar:
Postar comentários (Atom)
Comments (0)
Postar um comentário