Patrones de diseño creacionales
Patrones de diseño1 patrón · 2 ejercicios corregidos · código en Java, Python, JavaScript, C# y PHP
Hacer new parece inofensivo, pero cada new UnaClaseConcreta() ata ese código a esa clase: si mañana hay que crear otra (un PagoConBizum en vez de un PagoConTarjeta, una conexión de prueba en vez de la real), hay que tocar todos los sitios donde se crea.
Los patrones creacionales sacan la creación de objetos a un sitio aparte: una sola instancia compartida (Singleton), un método que decide qué clase crear (Factory Method), familias de objetos que encajan entre sí (Abstract Factory), objetos con muchos parámetros opcionales construidos paso a paso (Builder) o copias de un objeto ya configurado (Prototype).