Skip to main content

Inicia sesión en CleanKata

Sigue tu progreso, gana XP y desbloquea todas las lecciones.

Al iniciar sesión aceptas nuestros Términos de uso y Política de privacidad.

Patrones de Diseño80 XP7 min

Builder: Construcción Paso a Paso

Construye objetos complejos paso a paso — el mismo proceso de construcción puede producir diferentes representaciones usando una interfaz fluida.

Por qué importa

Piensa en pedir una hamburguesa personalizada: pan, carne, ingredientes — especificas cada paso; el personal ensambla el resultado. El código enfrenta el mismo problema: una clase con muchos parámetros opcionales obliga a los llamadores a pasar listas de argumentos largas e ilegibles donde la posición determina el significado. Email("a@x.com", "b@x.com", "Hi", "Body", True, False, None, "high", []) — ¿qué significa False? El patrón Builder reemplaza ese desorden con una interfaz fluida donde cada paso se nombra a sí mismo.

Variaciones

Los dataclasses de Python con argumentos solo de palabra clave ofrecen una alternativa ligera para casos más simples. Los usuarios de TypeScript suelen usar objetos de opciones (new Email({ from, to, subject })). El Builder completo brilla cuando la construcción es de varios pasos, implica validación entre pasos, o cuando el mismo proceso necesita producir diferentes tipos de salida.

💡Conclusión clave

Cuando tu constructor tiene más de 3–4 parámetros, considera un Builder — hace que cada sitio de llamada sea autodocumentado y protege a los llamadores de futuros cambios de parámetros.

🔧 Algunos ejercicios pueden tener errores. Si algo parece incorrecto, usa el botón Feedback (abajo a la derecha) para reportarlo — nos ayuda a corregirlo rápido.

Pista: Cuando tu constructor tiene más de 3-4 parámetros, considera un Builder — hace que cada sitio de llamada sea autodocumentado.

✗ Tu versión

Builder: Construcción Paso a Paso — CleanKata — CleanKata