Builder
Propósito
Según el libro "Patrones de Diseño" [29] el patrón Builder "separa la construcción de un objeto complejo de su representación, de forma que el mismo proceso de construcción pueda crear diferentes representaciones".
Estructura

Participantes
Constructor:
especifica una interfaz abstracta para crear las partes de una variable Producto.
ConstructorConcreto:
implementa la interfaz de Constructor para construir y ensamblar las partes del producto.
proporciona una interfaz para devolver el producto.
Director:
construye una variable usando la interfaz Constructor.
Producto:
representa una variable compleja en construcción. El ConstructorConcreto construye la representación interna del producto y define el proceso de ensamble.
incluye los tipos de datos que definen sus partes constituyentes, incluyendo interfaces para ensamblar las partes en el resultado final.
Implementación
No se observan impedimentos y/o modificaciones de la estructura original del patrón para su implementación en Go.
El Constructor se define como interface por simplificación.
Código de ejemplo
En este ejemplo queremos que un local de comida pueda entregar distintos tipos de hamburguesas (simples y dobles) para lo que será necesario generar distintos constructores de hamburguesas.
Implementación:
Se puede probar la implementación del patrón de la siguiente forma:
Código de ejemplo | Ejecutar código
Atención: Esta publicación se encuentra abandonada. Puede acceder a la versión vigente en https://leanpub.com/designpatternsingo
Última actualización
¿Te fue útil?