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?