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.
Puedes seguirnos o unirte a nuestras comunidades en las siguientes plataformas:
- 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