Programación avanzada para profesionales
Técnicas y consejos para mejorar tu desarrollo de la mano de nuestros mejores programadores… ¿Estás seguro de estar trabajando bien?
Técnicos
dirigido a
12 Horas
Duración
Intermedio-Avanzado
nivel

Profesorado

Jose Manuel Sánchez
FULL STACK WEB LEAD

Jose Manuel Sánchez
iOS DEVELOPER
Qué aprenderás
- Cuáles son las arquitecturas de presentación (MVx) más adecuadas
- Cómo utilizar Clean Architecture y cuáles son los principios SOLID
- Por qué es importante la inversión de dependencias
- Cuáles son los patrones de diseño más adecuación a una aplicación
- Qué es la programación funcional y cómo utilizar la familia extendida de functores
- Cómo utilizar el álgebra abstracta y de tipos
- Cómo mejorar los tests (unitarios, integración y UI) y aplicar TDD
Solicitar Pre-inscripción
Introducción
Muchos de nosotros utilizamos durante el día a día algunas técnicas de programación que nos funcionan y que estamos ya acostumbramos a usar. Costumbres y hábitos, pero ¿nos paramos de vez en cuando a pensar si son las mejores para ese caso en concreto? ¿Tenemos la base teórica clara para hacer la implementación de la manera más eficiente y estructurada?
Este curso se centrará en diversas técnicas o herramientas de programación avanzados, tales como las arquitecturas de presentación (MVx), el Clean Architecture y los Patrones de diseño. Además, se introducirá el concepto de programación funcional, diferenciando funciones puras e impuras y utilizando la familia extendida de functores.
Temario
- Introducción
- Arquitecturas de presentación (MVx)
- ¿Por qué MVx no es una arquitectura completa en sí?
- MVC, MVP y MVVM
- Alternativas: MVI
- Clean architecture
- Tipos de arquitectura
- Principios SOLID (5)
- Capas en Clean Architecture
- Importancia de la inversión de dependencias
- Selección de patrones de diseño
- Patrones creacionales
- Patrones estructurales
- Patrones de comportamiento
- Programación funcional
- Introducción. Funciones puras vs impuras
- Família extendida de functores
- MONAD como patrón de diseño
- Álgebra abstracta y de tipos
- Introducción a las ópticas
- Testing
- Tests unitarios
- Tests de UI
- Tests de integración
- Test driven development (TDD)