Este repositorio documenta la implementación de tres patrones de diseño: Singleton, Mediator y Decorator. Cada sección incluye una descripción del patrón, ejemplos de código y enlaces a pruebas unitarias en Replit.
El patrón Singleton garantiza que solo exista una instancia de una clase en todo el programa. Esto es útil para recursos compartidos, como configuraciones globales o conexiones a bases de datos.
Puedes ver la implementación del patrón Singleton en este enlace de Replit.
Las pruebas unitarias para el patrón Singleton están disponibles en el mismo proyecto de Replit.
El patrón Mediator promueve la comunicación indirecta entre objetos al centralizar la interacción en un objeto mediador. Esto simplifica el diseño y reduce el acoplamiento entre los objetos que interactúan.
Puedes ver la implementación del patrón Mediator en este enlace de Replit.
Las pruebas unitarias para el patrón Mediator están disponibles en el mismo proyecto de Replit.
El patrón Decorator permite agregar funcionalidad a un objeto de forma dinámica sin modificar su clase original. Esto se logra envolviendo el objeto original en un objeto decorador que agrega la funcionalidad deseada.
Puedes ver la implementación del patrón Decorator en este enlace de Replit.
Las pruebas unitarias para el patrón Decorator están disponibles en el mismo proyecto de Replit.
State es un patrón de diseño de comportamiento que permite a un objeto alterar su comportamiento cuando su estado interno cambia. Parece como si el objeto cambiara su clase.
Puedes ver la implementación del patrón Decorator en este enlace de Replit.
Strategy es un patrón de diseño de comportamiento que te permite definir una familia de algoritmos, colocar cada uno de ellos en una clase separada y hacer sus objetos intercambiables.
Puedes ver la implementación del patrón Decorator en este enlace de Replit.

