viernes, 22 de abril de 2016

Patron Builder

Patron Builder

Definicion: 

±El objetivo del patrón Builder es abstraer la construcción de objetos complejos de su implementación, de modo que un cliente pueda crear objetos complejos sin tener que preocuparse de las diferencias en su implantación.
±el patrón Builder es un patrón creacional cuyo objetivo es instanciar objetos complejos que generalmente están compuestos por varios elementos y que admiten diversas configuraciones. Cuando hablamos de “construcción” nos referimos al proceso, mientras que cuando hablamos de “representación” nos estaremos refiriendo a los datos que componen el objeto.






Ejemplo:
En la creación de un automóvil  podríamos utilizar el patrón builder. Necesitaremos una fabrica que se encargue de la lógica del armado de los diferentes vehículos.

Comenzaremos con la clase Auto.
Por supuesto necesitaremos un motor, para componer nuestro automovil. Tambien necesitaremos una interface que encapsule el comportamiento del automovil. y la logica del armado. Tendremos 2 tipos de autos:
Un camaro:
y un focus:
Estas serán nuestras dos clases concretas.
El consecionario se encargará de la logica del armado del vehiculo, basandose en la interfaz builder. Este será nuestro Director Por ultimo, nuestro main sería :



C   Consecuencias:


El Builder ofrece una interfaz al Director para construir un producto y encapsula la representación interna del producto y cómo se juntan sus partes.
Separa el código de construcción del de representación.
Las clases que definen la representación interna del producto no aparecen en la interfaz del Builder.
Cada ConcreteBuilder contiene el código para crear y juntar una clase específica de producto.
Da mayor control en el proceso de construcción.
Permite que el Director controle la construcción de un producto paso a paso.
Sólo cuando el producto está acabado lo recupera el director del builder.

0 comentarios:

Publicar un comentario