Hoy presento el patrón Builder en Python.
Como su nombre sugiere, forma parte de los patrones creacionales.
La idea es sencilla pero poderosa: cuando una clase tiene muchas variables miembro y el objeto final no necesita todas ellas, y el número de parámetros del constructor puede variar, en lugar de crear muchos constructores sobrecargados, utilizamos el patrón Builder.
La huella de código se reduce de forma notable, ya que no es necesario mantener una cantidad de constructores sobrecargados para cubrir todas las combinaciones posibles de parámetros.
En el ejemplo conceptual, definimos una clase Student que puede representar a un alumno de 10º, de 12º, o a un estudiante de ingeniería cursando 1º, 2º, 3º o 4º.
Si el estudiante ya es un ingeniero titulado, debemos aportar todas las calificaciones. Pero si está en 2º curso, no necesitamos las notas de 3º o 4º; bastan 10º, 12º y 1º para describir su estado.
Con Builder encadenamos métodos para establecer solo los campos relevantes y finalizamos con build para obtener la instancia. Este enfoque evita constructores gigantes, mejora la legibilidad, facilita la validación y permite valores por defecto de manera elegante.
Al ejecutar un ejemplo simple, el resultado sería similar a lo siguiente:
Nombre: Ram
Dirección: Kolkata
Notas 10º: 50
Nombre: Shyam
Dirección: Delhi
Notas 10º: 70
Notas 12º: 78
Notas 1º: 70
Como se observa, para Ram solo importan las notas hasta 10º, mientras que para Shyam son relevantes hasta 1º de ingeniería. Este es el valor del patrón Builder: crear objetos con la información necesaria, ni más ni menos.
En Q2BSTUDIO somos una empresa de desarrollo de software que diseña y construye aplicaciones a medida y software a medida con arquitecturas limpias y escalables, aplicando patrones como Builder para garantizar mantenibilidad y calidad. Si tu organización busca acelerar la entrega de productos digitales, descubre nuestro enfoque de desarrollo de aplicaciones y software a medida orientado a resultados.
Además, somos especialistas en inteligencia artificial, ia para empresas y agentes IA, ciberseguridad y pentesting, servicios cloud aws y azure, y servicios inteligencia de negocio con power bi. También impulsamos la automatización de procesos y la analítica avanzada para modernizar tu stack tecnológico. Visita nuestra oferta de inteligencia artificial para transformar tus datos en decisiones y acelerar tu innovación.