Contenido del curso
Singleton
Factory
Abstract Factory
- 12

Qué es el patrón Abstract Factory
03:39 min - 13

Patrones de Diseño: Abstract Factory en Producción de Coches
04:20 min - 14

Implementación del patrón Abstract Factory en JavaScript
10:46 min - 15

Diferencias entre JavaScript y TypeScript en el patrón Abstract Factory
03:33 min - 16

Patrón Abstract Factory: Ventajas y Desventajas
06:00 min
Builder
- 17

Patrón Builder para crear objetos complejos
07:39 min - 18

Patrón Builder: Análisis de Diagrama y Clases Relacionadas
04:46 min - 19

Implementación del Patrón Builder en Producción de Coches
27:39 min - 20

Comparación del Patrón Builder en JavaScript vs TypeScript
03:38 min - 21

Patrón Builder: Ventajas, Desventajas y Aplicaciones Prácticas
07:00 min
Prototype
- 22

Patrón Prototype: Clonación de Objetos en Diseño de Software
03:36 min - 23

Diagrama UML del patrón Prototype explicado
01:55 min - 24

Implementación del Patrón Prototype en JavaScript
07:14 min - 25

Comparación de Prototype en JavaScript y TypeScript
06:08 min - 26

Patrón Prototype: Ventajas y Desafíos en Diseño de Software
05:43 min
Conclusiones
Patrones Creacionales: Singleton, Factory, Abstract Factory, Builder, Prototype
Resumen
Los patrones creacionales son la base para construir software flexible y reutilizable. Comprender cómo abstraer el proceso de creación e instanciación de objetos permite escribir código más extensible y fácil de mantener. A continuación se exploran los cinco patrones creacionales fundamentales y la relación que existe entre ellos.
¿Qué resuelven los patrones creacionales?
Cuando un sistema crece, la forma en que se crean los objetos puede volverse rígida y difícil de modificar. Los patrones creacionales proponen técnicas que separan la lógica de construcción del resto de la aplicación, logrando que el proceso de generar nuevos objetos sea más reutilizable y extensible [0:04].
En lugar de instanciar clases directamente con new, estos patrones encapsulan ese conocimiento y permiten variar qué se crea, cómo se crea y cuándo se crea, sin afectar al código cliente.
¿Cuáles son los cinco patrones creacionales?
Los patrones que se abordan son los siguientes [0:23]:
- Singleton: garantiza que una clase tenga una única instancia en toda la aplicación y proporciona un punto de acceso global a ella.
- Factory: delega la creación de objetos a un método o clase especializada, evitando que el cliente conozca la clase concreta que se instancia.
- Abstract Factory: lleva la idea de Factory un nivel más allá, permitiendo crear familias de objetos relacionados sin especificar sus clases concretas.
- Builder: separa la construcción de un objeto complejo de su representación, de modo que el mismo proceso de construcción pueda generar distintas representaciones.
- Prototype: crea nuevos objetos clonando una instancia existente, lo que resulta útil cuando la creación desde cero es costosa.
¿Cómo se relacionan entre sí?
Uno de los aspectos más interesantes es que estos patrones no son mutuamente excluyentes [0:33]. Por ejemplo, es perfectamente válido preguntarse si un Factory podría combinarse con Singleton para asegurar que la fábrica sea única en el sistema. La creatividad juega un papel importante: mezclar patrones de forma consciente produce soluciones más robustas y adaptadas al problema real.
¿Por qué es importante la creatividad al aplicarlos?
Los patrones de diseño no son recetas rígidas. Son guías que deben adaptarse al contexto de cada proyecto. Entender la intención detrás de cada patrón —más que memorizar su estructura— permite combinarlos con criterio y resolver problemas de instanciación de manera elegante sin caer en sobre-ingeniería.
Si ya conoces los fundamentos vistos en la introducción a los patrones de diseño, estos cinco patrones creacionales te darán herramientas concretas para controlar cómo nacen los objetos en tus aplicaciones. ¿Con cuál de ellos has tenido más experiencia o cuál te genera más curiosidad? Compártelo en los comentarios.