Este repositorio contiene implementaciones y ejemplos de los 5 patrones de diseño creacionales aplicados en ReactJS. Cada patrón está diseñado para resolver problemas específicos relacionados con la creación de objetos, permitiendo una mayor flexibilidad y reutilización del código.
El repositorio está organizado en 5 carpetas principales, cada una representando un patrón de diseño creacional. Dentro de cada carpeta, encontrarás dos archivos principales: uno define el patrón y otro proporciona un ejemplo práctico de cómo utilizar el patrón en un contexto de ReactJS.
Singleton: Garantiza que una clase tenga una única instancia y proporciona un punto de acceso global a ella.Factory Method: Define una interfaz para crear un objeto, pero deja que las subclases decidan qué clase instanciar.Abstract Factory: Proporciona una interfaz para crear familias de objetos relacionados sin especificar sus clases concretas.Builder: Separa la construcción de un objeto complejo de su representación, permitiendo el mismo proceso de construcción para crear diferentes representaciones.Prototype: Crea nuevos objetos clonándolos a partir de un objeto existente.
Para explorar los ejemplos, navega a la carpeta correspondiente al patrón de diseño que te interesa. Dentro de cada carpeta, encontrarás dos archivos:
definitionPattern.js- Define el patrón de diseño y proporciona una descripción general de cómo se implementa.realExamplePattern.js- Un ejemplo práctico que demuestra cómo aplicar el patrón de diseño en un escenario del mundo real usando ReactJS.
Para ejecutar los ejemplos, necesitarás tener instalado:
- Node.js
- Clona el repositorio:
git clone https://github.com/tu-usuario/tu-repositorio.git - Navega a la carpeta del ejemplo que deseas ejecutar.
- Instala las dependencias necesarias (si es aplicable):
npm install - Ejecuta el ejemplo:
node nombre-del-archivo
Las contribuciones son bienvenidas. Si tienes alguna mejora, corrección o ampliación de los ejemplos, no dudes en abrir un pull request o crear un issue.
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.