Bienvenido al repositorio SOLID-Principios-Tutorial, un recurso educativo diseñado para ayudarte a comprender y aplicar los principios SOLID en diseño de software. Aquí encontrarás ejemplos prácticos, ejercicios y explicaciones detalladas de cada principio, acompañados de código antes y después de aplicar las buenas prácticas.
Los principios SOLID son un conjunto de cinco principios diseñados para mejorar la calidad, mantenibilidad y escalabilidad del software orientado a objetos. Estos principios son:
- Single Responsibility Principle (SRP): Una clase debe tener una única responsabilidad.
- Open/Closed Principle (OCP): Las entidades de software deben estar abiertas para extensión, pero cerradas para modificación.
- Liskov Substitution Principle (LSP): Los objetos de una clase derivada deben poder sustituir a los de la clase base sin alterar el comportamiento esperado.
- Interface Segregation Principle (ISP): Una clase no debe estar obligada a implementar interfaces que no utiliza.
- Dependency Inversion Principle (DIP): Las clases deben depender de abstracciones, no de implementaciones concretas.
Cada principio tiene su propia carpeta con ejemplos prácticos y documentación:
SOLID-Principios-Tutorial
├── SRP
│ ├── Antes
│ │ └── ejemplo.js
│ ├── Despues
│ │ └── ejemplo.js
│ ├── PRACTICA
│ │ ├── README.md
│ │ └── ejercicio.js
│ └── README.md
├── OCP
│ ├── Antes
│ │ └── ejemplo.js
│ ├── Despues
│ │ └── ejemplo.js
│ ├── PRACTICA
│ │ ├── README.md
│ │ └── ejercicio.js
│ └── README.md
├── LSP
│ ├── Antes
│ │ └── ejemplo.js
│ ├── Despues
│ │ └── ejemplo.js
│ ├── PRACTICA
│ │ ├── README.md
│ │ └── ejercicio.js
│ └── README.md
├── ISP
│ ├── Antes
│ │ └── ejemplo.js
│ ├── Despues
│ │ └── ejemplo.js
│ ├── PRACTICA
│ │ ├── README.md
│ │ └── ejercicio.js
│ └── README.md
├── DIP
│ ├── Antes
│ │ └── ejemplo.js
│ ├── Despues
│ │ └── ejemplo.js
│ ├── PRACTICA
│ │ ├── README.md
│ │ └── ejercicio.js
│ └── README.md
└── LICENSE
- Documentación: Explicaciones detalladas de cada principio.
- Ejemplos prácticos: Código antes y después de aplicar SOLID.
- Ejercicios: Desafíos para practicar cada principio.
- Recursos adicionales: Enlaces a lecturas recomendadas y herramientas útiles.
- Clona el repositorio:
git clone https://github.com/Organization-DevXP/SOLID-Principios-Tutorial.git
cd SOLID-Principios-Tutorial
- Explora los ejemplos: Navega por las carpetas para ver ejemplos de cada principio.
- Prueba el código: Ejecuta los ejemplos en tu lenguaje de programación favorito y experimenta con ellos.
- Resuelve los ejercicios: Practica lo aprendido resolviendo los desafíos incluidos.
¡Las contribuciones son bienvenidas! Si tienes ideas para mejorar este repositorio, ya sea con ejemplos en otros lenguajes de programación, ejercicios adicionales o correcciones, siéntete libre de enviar un pull request.
- Haz un fork del repositorio.
- Crea una rama para tus cambios:
git checkout -b feature/nueva-mejora
- Realiza tus cambios y haz un commit:
git commit -m "Agregado ejemplo de LSP en Python"
- Sube tus cambios:
git push origin feature/nueva-mejora
- Abre un pull request en GitHub.
En la rama ejercicios-resueltos, puedes encontrar soluciones detalladas a los ejercicios de cada principio SOLID. Esta sección te ayudará a entender cómo aplicar correctamente los principios en el código.
Este proyecto está licenciado bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
- Video - Youtube - Curso de PRINCIPIOS SOLID Desde Cero - 2hs
- Video - Youtube - 5 Maneras de simplificar tu código JavaScript con SOLID - 22min
- Libro -"Clean Code" por Robert C. Martin
- Patrones de diseño de software
- Documentación de SOLID