https://github.com/organization-devxp/solid-principios-tutorial
Repositorio educativo con ejemplos prácticos de los principios SOLID en diseño de software.
https://github.com/organization-devxp/solid-principios-tutorial
principios-solid solid tutorial tutorial-exercises
Last synced: 4 months ago
JSON representation
Repositorio educativo con ejemplos prácticos de los principios SOLID en diseño de software.
- Host: GitHub
- URL: https://github.com/organization-devxp/solid-principios-tutorial
- Owner: Organization-DevXP
- License: mit
- Created: 2025-01-12T04:53:03.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2025-01-25T03:47:23.000Z (5 months ago)
- Last Synced: 2025-01-25T04:23:18.507Z (5 months ago)
- Topics: principios-solid, solid, tutorial, tutorial-exercises
- Language: JavaScript
- Homepage:
- Size: 444 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SOLID-Principios-Tutorial
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.
## ¿Qué son los principios SOLID?
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:
1. **Single Responsibility Principle (SRP):** Una clase debe tener una única responsabilidad.
2. **Open/Closed Principle (OCP):** Las entidades de software deben estar abiertas para extensión, pero cerradas para modificación.
3. **Liskov Substitution Principle (LSP):** Los objetos de una clase derivada deben poder sustituir a los de la clase base sin alterar el comportamiento esperado.
4. **Interface Segregation Principle (ISP):** Una clase no debe estar obligada a implementar interfaces que no utiliza.
5. **Dependency Inversion Principle (DIP):** Las clases deben depender de abstracciones, no de implementaciones concretas.## Estructura del Repositorio
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
```## ¿Qué encontrarás aquí?
- **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.## ¿Cómo usar este repositorio?
1. **Clona el repositorio:**
```bash
git clone https://github.com/Organization-DevXP/SOLID-Principios-Tutorial.git
```
```bash
cd SOLID-Principios-Tutorial
```
2. **Explora los ejemplos:**
Navega por las carpetas para ver ejemplos de cada principio.
3. **Prueba el código:**
Ejecuta los ejemplos en tu lenguaje de programación favorito y experimenta con ellos.
4. **Resuelve los ejercicios:**
Practica lo aprendido resolviendo los desafíos incluidos.## Contribuciones
¡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.
### Cómo contribuir:
1. Haz un fork del repositorio.
2. Crea una rama para tus cambios:
```bash
git checkout -b feature/nueva-mejora
```
3. Realiza tus cambios y haz un commit:
```bash
git commit -m "Agregado ejemplo de LSP en Python"
```
4. Sube tus cambios:
```bash
git push origin feature/nueva-mejora
```
5. Abre un pull request en GitHub.## Ejercicios Resueltos
En la rama **[ejercicios-resueltos](https://github.com/Organization-DevXP/SOLID-Principios-Tutorial/tree/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.## Licencia
Este proyecto está licenciado bajo la licencia MIT. Consulta el archivo [LICENSE](LICENSE) para más detalles.
## Redes Sociales de OrganizationDevXp
Puedes seguirnos o unirte a nuestras comunidades en las siguientes plataformas:
[](https://www.linkedin.com/company/organization-devxp)
[](https://www.youtube.com/@Organization-DevXP)
[](https://chat.whatsapp.com/FfX0fXV4xHzCvFoVFn7ssa)
[](https://discord.com/invite/j3hnJjR8Yd)
[](https://github.com/Organization-DevXP)## Recursos Adicionales
- Video - Youtube - [Curso de PRINCIPIOS SOLID Desde Cero](https://www.youtube.com/watch?v=ASBC5drF-QU&ab_channel=MoureDevbyBraisMoure) - 2hs
- Video - Youtube - [5 Maneras de simplificar tu código JavaScript con SOLID](https://www.youtube.com/watch?v=6PdAOfsPh48&ab_channel=CarlosAzaustre-AprendeJavaScript) - 22min
- Libro -["Clean Code" por Robert C. Martin](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882)
- [Patrones de diseño de software](https://refactoring.guru/design-patterns)
- [Documentación de SOLID](https://en.wikipedia.org/wiki/SOLID)