Patrón de Diseño Builder Java

¿Que es el patrón Builder (constructor)

Este patrón de diseño separa la creación de un objeto de su representación, de modo que el mismo proceso de construcción puede crear diferentes representaciones. Este tipo de separación reduce el tamaño del objeto. El diseño resulta ser más modular con cada implementación contenida en un diferente objeto construido. Agregar una nueva implementación resulta fácil. El proceso de construcción de objetos es independiente de los componentes que componen el objeto. Esto permite más control sobre el proceso de construcción.

En términos de implementación, cada uno de los diferentes pasos del proceso de construcción puede ser declarado por métodos de una interfaz en común y puede ser implementada por diferentes builders concretos.

Un objeto cliente puede crear una instancia de un constructor concreto e invocar el conjunto de métodos requeridos para construir diferentes partes de un objeto final. Esté enfoqué cada objeto del cliente sea consiente de la lógica de construcción. Siempre que la lógica de construcción sufre un cambio, todos los objetos deben modificarse en consecuencia.

El patrón builder introduce otro nivel de separación para abordar este problema. En lugar de tener objetos cliente invocado diferentes métodos builder directamente, El patrón builder sugiere usar un objeto dedicado para se un Director, el cual es el responsable de invocar diferentes métodos builder requeridos para la construcción de un objeto final.Diferentes objetos cliente pueden hacer uso del objeto Director para crear el objeto requerido. Una vez que el objeto esta construido, el objeto cliente puede solicitar al constructor el objeto construido completamente. Para facilitar el proceso se declara un método getObject que puede ser declarado en la interfaz Builder para ser implementado por diferentes clases concretas.

Builder

Especificación de una interfaz abstracta para crear partes de un objeto.

ConcreteBuilder

Director

Product

Aquí puedes encontrar un ejemplo con la implementación.

Cuando se usa el patrón Builder

 

 

 

Avatar de Rolando Castillo

Escrito por:

Deja un comentario