Professional Documents
Culture Documents
PATRONES DE DISEO
BUILDER
PATRON DE DISEO
BUILDER
Patrones creacionales de diseo.
Permite separar la construccin de un objeto
complejo de su representacin.
Se usa para evitar situaciones de
acoplamiento
CARACTERISTICAS:
Concrete Builder:
EJEMPLO:
Fbrica de vehculos
Pasos y Aplicabilidad:
Problema al que ataca:
El incremento de clases y objetos usados.
Objetos complejos hechos de partes producidas por otros objetos
que necesitan especial cuidado cuando se empiezan a construir.
Necesidad de un mecanismo para producir objetos complejos que
sean independientes unos de otros cuando se crea el objeto.
No se protegen los detalles de los objetos de presentacin con
respecto a la lgica de creacin.
sus partes deba ser configurado de forma individual (en el ejemplo que nos
ocupa, se tratara de definir cada elemento al gusto del consumidor en lugar
de objetos predefinidos), este patrn no ser una buena idea, ya que ser
necesario realizar el proceso de asignacin de cada elemento paso a paso.
Pasos:
Al final los pasos para la correcta utilizacin del patrn son los
siguientes:
El Cliente crea un objeto Director y lo configura con el objeto
Builder.
El Director notifica al constructor cuando una parte del Producto
se debe construir.
El Builder maneja las peticiones del Director y agrega las partes
al Producto.
El Cliente el producto del Builder.
I. Consecuencias:
VENTAJAS E INCONVENIENTES
El patrn Builder facilita la gestin del flujo de control durante la
creacin de objetos complejos. Esto se manifiesta de dos formas:
Para objetos que necesitan una creacin en fases (una secuencia
de pasos para lograr que le objetivo se active), el objeto Builder
acta como un objeto de alto nivel que supervisa el proceso.
Puede coordinar y validar la creacin de todos los recursos y, si
fuera necesario proporcionar una estrategia de emergencia en
caso de que ocurra un error.
Para objetos que durante la creacin necesitan recursos existente
en el sistema, como conexiones a la base de datos u objetos de
negocio existentes, el objeto Builder proporciona un punto de
acceso centralizado para gestionar esos recursos. Builder tambin
proporciona un nico punto de control de creacin para sus
productos, que puede ser utilizado por otros objetos del sistema. al
igual que otros patrones de creacin, esto facilita las cosas para
los clientes de sistema de software, porque solo necesitan acceder
al objeto Builder para obtener un recurso.
IMPLEMENTACIN:
Ejemplo:Una pizzera la cual la
describiremos de la siguiente manera
Una cocina: Director
Las pizzas: Product
Las diferentes variedades de pizzas:
ConcreteBuilder
Ahora implementaremos el cdigo :
class Pizza {
private String base;
private String salsa;
private String ingredientes;
//Aca implementamos los mtodos set y get es decir
los mtodos de lectura y retorno para cada
// atributo
Public Void setBase(String base){this.base = base}
Public Void setSalsa(String salsa){this.salsa = salsa}
Public Void setIngredientes(String
ingredients){this.ingredientes=ingredientes}
Public String getBase(){return base}
Public String getSalsa(){return salsa}
Public String getIngredientes(){return ingredientes}
GRACIAS