Este repositorio contiene un ejemplo práctico en TypeScript para entender el principio Open/Closed (OCP), parte de los principios SOLID.
El proyecto muestra cómo aplicar OCP con un sistema de notificaciones (Email, SMS, WhatsApp, etc.):
- Abierto a la extensión → se pueden añadir nuevos tipos de notificación (ej. Telegram) creando una clase nueva.
- Cerrado a la modificación → no es necesario cambiar el código ya existente (la función
notifyno se toca).
La explicación del principio Open/Closed (OCP) está disponible aquí:
Ver presentación en PDF
- Node.js
- TypeScript
- Git & GitHub
open-closed/
├── src/
│ ├── abstractions/ # Interfaces (contratos comunes)
│ ├── implementations/ # Clases concretas (Email, SMS, WhatsApp...)
│ └── index.ts # Motor principal notify()
├── package.json
├── tsconfig.json
├── .gitignore
└── README.md
-
Clonar el repositorio:
git clone https://github.com/tu-usuario/open-closed.git cd open-closed -
Instalar dependencias:
npm install
-
Ejecutar en desarrollo:
npm run dev
-
Compilar y ejecutar en JavaScript:
npm run build npm start
- Practicar el principio Open/Closed con un ejemplo sencillo.
✨ Proyecto creado como parte de la formación en desarrollo Fullstack.