Patrones de diseño en Python

Builder Pattern in Python

Aprende Builder Pattern in Python con un ejemplo práctico que puedes editar y ejecutar online.

¿Qué es Builder Pattern?

Aprende Builder Pattern in Python con un ejemplo práctico que puedes editar y ejecutar online.

¿Cuándo se utiliza?

  • Resolver problemas recurrentes de diseño de objetos con estructuras probadas.
  • Desacoplar responsabilidades para facilitar la extensión y las pruebas del código.
  • Usar un vocabulario de diseño común al hablar de arquitectura con el equipo.

Código de ejemplo

Ejecutar código →
main.py
class ReportBuilder:
    # Builder: assemble a complex value one optional part at a time.
    def __init__(self):
        self.parts = []

    def add_title(self):
        self.parts.append("title")
        return self

    def add_chart(self):
        self.parts.append("chart")
        return self

    def build(self):
        # Hide the final assembly behind one operation.
        return "Report: " + ", ".join(self.parts)


report = ReportBuilder().add_title().add_chart().build()
print(report)

Resultado esperado

Report: title, chart

Cómo funciona

Este ejemplo muestra Builder Pattern in Python. Cambia los valores de entrada para explorar el código.

Cambia los valores y ejecuta el programa en el compilador Python online de CodeUtility sin instalar Python.

Ejercicios prácticos

Modifica las entradas y prueba casos límite antes de usar conjuntos de datos mayores.

  1. Sustituye el dominio del ejemplo conservando la estructura del patrón.
  2. Compara el patrón con una implementación más sencilla y explica las ventajas y desventajas.
  3. Escribe pruebas para cada participante antes de añadir otra implementación.
Ejecutar en el IDE de Python →