Repositorio para documentar, estudiar e implementar los diferentes patrones de diseño de software utilizando TypeScript.
- Singleton
- Strategy
- Factory (Familia de Patrones)
- Adapter
- Observer
- State
- (Próximamente más patrones...)
El patrón Singleton garantiza que una clase tenga una única instancia y proporciona un punto de acceso global a ella.
El patrón Strategy permite definir una familia de algoritmos, encapsular cada uno de ellos y hacer que sean intercambiables.
El objetivo de estos patrones es desacoplar el código cliente de las clases concretas que necesita instanciar, promoviendo un diseño más limpio, mantenible y escalable.
Factory/
├── AbstractFactory/
│ ├── ejemplos/
│ └── README.md
├── FactoryMethod/
│ ├── ejemplos/
│ └── README.md
└── SimpleFactory/
├── ejemplos/
└── README.md
-
Simple Factory: Una única clase centralizada o método estático encapsula la lógica de decisión mediante condicionales (
switch/if) -
Factory Method: Define una interfaz para crear un objeto, delegando en las subclases la decisión de qué clase concreta instanciar.
-
Abstract Factory: Crea familias de objetos relacionados o dependientes sin especificar sus clases concretas.
Permite colaborar a objetos con interfaces incompatibles, sirviendo de puente o traductor entre ellos sin modificar su código original.
Establece una relación de uno a muchos entre objetos, de manera que cuando un objeto (el sujeto) cambia de estado, todos sus dependientes (observadores) son notificados y actualizados automáticamente.
Permite a un objeto alterar su comportamiento cuando su estado interno cambia. Dicho objeto parecerá que cambia de clase.