Aprende a diseñar y desarrollar software de calidad en el mundo real con C#
Curso online avanzado de diseño de software con C#. Disponible próximamente
Desarrolladores de software, con un mínimo de experiencia profesional, que:
Fundamentos de diseño evolutivo de software y mentalidad de software crafter.
Una forma de programar adaptada a explotar el potencial de la IA, las herramientas modernas y capaz de adaptarse al cambio, con Test-driven development y Refactoring.
Cómo producir diseños mantenibles desde el principio y hacerlos crecer incrementalmente.
Conceptos clave de programación orientada a objetos y programación funcional, y cómo utilizarlos.
Cómo tomar decisiones de diseño en base a anti-patrones y balancear propiedades del código, en lugar de principios dogmáticos.
Cómo evitar bugs creando diseños resilientes, que protejan las reglas de negocio más importantes por diseño.
Patrones de diseño y sus usos en la actualidad, y cómo aplicarlos en el momento más adecuado.
Cómo integrar tus diseños con sistemas externos usando dobles de test.
Cómo documentar y comunicar el diseño.
Mentalidad de software crafter
Aportar valor, hábitos y mejora continua
Test-driven development
Empezar por un entero primitivo
Desarrollo incremental: grados de libertad
Refactoring continuo
Funciones puras, side effects y los tres niveles de aislamiento
Inmutabilidad: Value objects
Encapsulación y protección de invariantes: Entidades y agregados
Servicios
Tomar decisiones de diseño basadas en el código
Code smells
Bloaters
Couplers
Change preventers
Object orientation abusers
Refactoring to patterns
Patrones Gang of Four y su uso en la actualidad
Patrones funcionales: Mónadas y funciones de orden superior
Pensando en propiedades
Legibilidad
Propósito único
Código idiomático
Componibilidad
Especificidad en el dominio
Predictibilidad
Cohesión y acoplamiento
Diseño con dobles de test
Gestión de errores funcional
Opcionalidad y gestión de valores nulos
Diagramas UML
Documentación asistida con IA
Generación de código con LLMs (ChatGPT, Copilot)
Herramientas de refactoring (IntelliJ)
Análisis de código con IA
Práctica: Servidor HTTP
Práctica: Kernel y Router
Práctica: Contenedor de dependencias
Práctica: Renderizador de plantillas HTML
Práctica: Middleware de autenticación
Práctica: Event Dispatcher
Desarrollarás tu propio micro-framework web, similar a Spring Boot, ASP.NET Core o Symfony.
Implementarás un framework en el que desarrollarás los siguientes componentes, desde cero:
Desarrollarás este framework de principio a fin con TDD, aplicando todos los conceptos, patrones y técnicas que verás en el curso.
El desarrollo del proyecto estará disponible íntegramente en video, para que puedas elegir entre seguir el paso a paso o desarrollarlo tú mismo.
Pedro Pardal
Disponible próximamente. ¡Reserva tu plaza ya para asegurarla!
€597,00
Precio regular
€449,00
Early bird (hasta 31/08/2024)