💸 ¡Primera lección disponible sin registro!
Los principios SOLID son una serie de convenciones y prácticas ampliamente aceptadas por la industria del desarrollo de software. La finalidad de estos principios de diseño de software es conseguir un código más mantenible, robusto, y tolerante a cambios. Con una alta cohesión en nuestras clases, pero un bajo acoplamiento entre ellas.
Si ya sabes desarrollar pero te preocupa cómo hacer mejor tu trabajo, estás en el curso adecuado 🙂
Qué aprenderás en este curso:
- **🦄 Qué son los principios SOLID:
Identifica código acoplado y patrones de diseño como Singleton, nocivo para la mantenibilidad de tu código.
- ****🤕 UML: "The good parts"**:
Veremos por qué el lenguaje UML está tan denostado a día de hoy, y haremos un repaso rápido para aprender lo justo y necesario de UML con el fin de poder entender mejor los ejemplos de código que veremos en las siguientes lecciones.
- 🕺 Principio de Responsabilidad Única:
El primero de los principios SOLID: SRP. ¿Qué quiere decir eso de "Una clase = Una responsabilidad"? ¿Cómo lo aplicamos en El Mundo Real™️?
- 🤯 Principio de Abierto/Cerrado:
Analizamos el OCP a varios niveles de nuestro software. Tanto con el clásico ejemplo a nivel de clases, como a nivel de casos de uso gracias a eventos
- 🔁 Principio de sustitución de Liskov:
Quizás uno de los principios más difíciles de asimilar. Vemos ejemplos de LSP tanto de introducción (clásico rectángulo vs. cuadrado), como del mundo real. #keepItReal
- 💥 Principio de segregación de interfaces:
El ISP es uno de los principios más fáciles de malinterpretar y pensar que es sencillo. Nada más lejos de la realidad. Es uno de los más interesantes a nivel conceptual
- 🤹♀️ Principio de inversión de dependencias:
AKA: Santo Grial de la Arquitectura Hexagonal. Lo analizamos paso a paso diferenciando entre inyección e inversión de dependencias. ¿Qué beneficios aporta cada paso?
- 🏭 Practicando SOLID con la kata GildedRose:
Ahora que ya hemos visto ejemplos de cada principio SOLID… ¡A ponerlos en práctica todos! Solucionamos el ejercicio GildedRose aplicando una SOLIDificación™️
- 📃 SOLID aplicado en El Mundo Real™️: Specification pattern:
Tenemos un backoffice donde poder gestionar todo el listado de usuarios registrados en nuestra app. Este listado tiene filtros por cada campo. ¿Cómo implementamos un repositorio evitando tener 20 métodos y cumpliendo así SOLID?
- 👮♂️ Composición sobre herencia:
Composition over Inheritance: Ya lo hemos aplicado en los del ejemplos el curso, pero ahora nos paramos a analizar los beneficios de este principio de diseño de Software
- ƛ ¿Programación Funcional vs SOLID?:
¿Cómo encajan los principios SOLID en el paradigma de programación funcional? ¿Realmente son conceptos contrapuestos? ¿Cómo los podríamos aplicar?
- ⚡️ Conclusiones y siguientes pasos:
Breve repaso y lo más importante: Por dónde continuar, y cómo aplicarlos en nuestro día a día
Este curso es agnóstico del lenguaje de programación, no obstante, para que no se quede en teoría pura, veremos ejemplos de implementación en PHP, Java, y Scala.
Una vez hagas este curso, estarás completamente preparado para seguir aprendiendo con los siguientes cursos de la serie de Arquitectura de Software. Todo incluido en el precio de tu suscripción 🙂:
Aquí la primera lección del curso para que te hagas una idea de la calidad del contenido sin necesidad ni de registrarte 😬
¡Te esperamos!