Professional Documents
Culture Documents
Marcio R. Rosemberg
Wesley Tenrio
Definio
Builder um padro de projeto de software que permite a separao
da construo de um objeto complexo da sua representao, de
forma que o mesmo processo de construo possa criar diferentes
representaes.
Fonte: Wikipdia
Principais Conceitos
Um dos padres de Criao.
Processo para construir um objeto Complexo
num tipo Abstract.
Usa o mesmo processo de criao para
representaes diferentes; tipo.
Participantes e Colaboradores
Constri um Objeto
do tipo Concrete
(ConcreteBuilder Class)
Parmetro do
tipo Abstract
(Builder Interface)
Controla todo o processo
para construir uma instncia
Director
Produto
Participantes e Colaboradores
Builder
Prov a Interface Abstrata para criao
das Partes de um objeto Produto.
Informaes recebidas pelo Director.
ConcreteBuilder
Prov a Concrete type (class).
O real participante que Constri as Partes do objeto
Produto.
Informaes enviadas pelo Client.
Participantes e Colaboradores
Client
Constri o objeto Produto pelo Construtor Default.
Determina o Concrete Type do Produto.
(Creates desired Builder object; ConcreteBuilder)
No faz NADA com relao aos argumentos.
Constri o objeto Director e o configura com o
Builder Object desejado.
O Director recebe um objeto Produto vazio.
O objeto do tipo Concrete Type,
mas o Director recebe um objeto Abstract Type.
Nada sabe e faz sobre o processo de criao do Produto
Recebe o Produto final (Instncia)
quando o Director termina o trabalho de criao.
Participantes e Colaboradores
Director
Recebe um Produto vazio.
Qualquer que seja o produto enviado pelo Client,
o Director recebe via Abstract Interface.
O Director no tem que se preocupar com o Concrete
type do objeto Produto.
Notifica o Builder quando uma parte do Produto deve ser
montada.
Controla todo o processo de criao do Produto
pedao por pedao.
Estrutura
Exemplo Prtico
Exemplo Prtico
Exemplo Prtico