©2023 Escuela Tecnologías de la Información S.L. Todos los derechos reservados.
Curso de Arquitecturas del Software Ágiles y Pesadas
Domina las arquitecturas del software más populares: MV*, arquitectura Hexagonal, Clean Architecture, Onion Architecture.
Material disponible
Con el Curso de Arquitecturas del Software Ágiles y Pesadas comenzamos una etapa en la formación de todo programador en la que nos centraremos en que aprenda a dominar las arquitecturas del software más populares. Con un objetivo similar al planteado en los cursos de diseño orientado a objetos y patrones de diseño, en esta ocasión centramos la vista en la organización de sus elementos estructurales o capas de la aplicación y las relaciones entre ellos.
Esta iniciativa aborda las arquitecturas MV*, arquitectura Hexagonal, Clean Architecture, Onion Architecture relacionando las unas con las otras, entendiendo sus diferencias y sus similitudes.
Esta iniciativa aborda las arquitecturas MV*, arquitectura Hexagonal, Clean Architecture, Onion Architecture relacionando las unas con las otras, entendiendo sus diferencias y sus similitudes.
Qué aprenderé en el Curso de Arquitecturas del Software Ágiles y Pesadas
- Qué es y para qué existe la arquitectura del software
- Cómo conseguir una arquitectura del software adecuada
- Cuáles son los principios esenciales de paquetes
- Actores y atributos de la arquitectura
- Documentación de la arquitectura
- Estilos arquitectónicos habituales en el desarrollo de software, arquitecturas estructurales, de persistencia, adaptables y de interacción.
- En qué consiste MVC
- En qué consiste Clean Architecture
- En qué consiste la Arquitectura Hexagonal
- En qué consiste la arquitectura de Cebolla
Índice de contenidos
1.- Principios de Paquetes
- Principios de Acoplamiento
- Principios de Cohesión
2.- Actores y Atributos de la Arquitectura
3.- Documentación de la Arquitectura
- Lenguaje de Modelado Unificado
- 4+1 Vistas
4.- Estilos Arquitectónicos
- Arquitecturas Estructurales
- Arquitecturas de Persistencia
- Arquitecturas Adaptables
- Arquitecturas de Interacción
5.- Estilo Arquitectónico Modelo/Vista/Controlador
- Estilo Arquitectónico Modelo/Vista/Presentador con Presentador del Modelo
- Estilo Arquitectónico Modelo/Vista/Vista-Modelo
- Estilo Arquitectónico Modelo/Vista/Presentador con Vista Pasiva
- Estilo Arquitectónico Modelo/Vista/Presentador con Controlador Supervisor
6.- Frameworks
- Web con Múltiples páginas con MVC
- Web con Múltiples páginas con MVP-PV Web con Múltiples páginas con MVP-SC Web con Múltiples páginas con MVP-PM Web con Múltiples Páginas con MVVM
- REST con MVC en Servidor
- Web con Única página con MVVM en Cliente Móvil con MVP-PV en Cliente
7.- Diseño de la Arquitectura Software
8.- Clean Architecture
9.- Arquitectura Hexagonal
10.- Arquitectura de Cebolla
Objetivos del curso
A lo largo del Curso de Arquitecturas del Software Ágiles y Pesadas aprenderemos qué es la arquitectura del software y cómo realizar arquitecturas de calidad que permitan maximizar las cualidades positivas del software y facilitar el trabajo de los equipos de desarrollo.
Veremos cómo descomponer correctamente las clases de una aplicación en paquetes entregables, en unidades de trabajo independientes que son capaces de desarrollarse en paralelo, respetando principios conocidos como el acoplamiento y la cohesión, pero aplicados a nivel de paquete.
Exploraremos distintos estilos arquitectónicos, que vienen a ser como patrones de diseño aplicados a nivel de paquetes, conociendo sus características, ventajas e inconvenientes. Aprenderás arquitecturas MVC, Clean Architecture, Arquitectura Hexagonal, Arquitectura de Cebolla, entre otras.
Por qué debes aprender Arquitecturas del Software
Para asegurar mayores tasas de éxito en los desarrollos de software es importante llegar a una arquitectura correcta, que nos permita respetar el ámbito (requisitos) y el coste en el tiempo indicado. Dicho de otro modo, si no somos capaces de llegar a una buena arquitectura del software seremos incapaces de conseguir soluciones de calidad, extensibles y versátiles, en el tiempo y con los recursos marcados.
Existen diversas arquitecturas del software ya definidas que permiten llegar a soluciones que se pueden aplicar de manera sistemática en todo tipo de proyectos. Es importante conocerlas y saber aplicarlas.
Qué tengo que saber
Para aprovechar el Curso de Arquitecturas del Software Ágiles y Pesadas es necesario tener un conocimento de programación orientada a objetos y diseño orientado a objetos.
Clases y contenidos
Comenzamos esta clase explicando de manera general qué es la arquitectura del software y sobre qué partes del código de las aplicaciones se relaciona principalmente. Veremos cómo se abordará el estudio de esta materia. El objetivo es entender no solo la arquitectura más usada en cualquier sistema, el MV*, sino todas las arquitecturas que han aparecido a lo largo del tiempo, y cómo están relacionadas entre sí.
Dentro de las arquitecturas nos explica en esta clase que tenemos vertientes ágiles y pesadas, explicando las diferencias y de dónde vienen todas, sacando a relucir un poco de historia sobre MVC, de dónde vino y por qué se puede aplicar en cualquier aplicación del mundo.
Luego abordaremos de lleno las llamadas arquitecturas ágiles, que son básicamente aquellas que el movimiento Agile ha ido aportando en la comunidad. En qué se diferencian de las arquitecturas pesadas, más tradicionales y cómo las arquitecturas ágiles son pequeñas variantes que en la mayoría de los casos simplemente cambian los nombres sobre lo que ya se conocía.
En la clase dedicaremos bastante tiempo a desgranar la arquitectura hexagonal, explicando que realmente esta arquitectura no es más que todo lo que venimos aprendiendo en los cursos anteriores, como el de diseño orientado a objetos y el de patrones de diseño. Es un punto muy interesante que merece la pena prestar mucha atención.
Además se explican ya de manera más resumida otras arquitecturas como Onion Architecture o Clean Architecture.
Comenzamos con la teoría de la arquitectura del software, explicando qué es y qué no es. Por qué a lo largo de los años se ha usado ese concepto de varias maneras, a vences no tan acertadas. Luego veremos los primeros principios de la arquitectura del software, las dependencias entre paquetes y cómo organizarlos en función de su estabilidad.
En esta clase terminamos con la parte de los principios de paquetes de acoplamiento y comenzamos con los principios de cohesión
En esta clase, después del típico repaso y la finalización de la parte de los principios de arquitectura del software, nos metemos de lleno con el tema de los estilos arquitectónicos.
En esta clase vamos a hacer un repaso completo a toda una familia de arquitecturas del software, las MV*: MVC / MVP / MVVM, etc. Veremos todas estas arquitecturas, de dónde salen, cuáles son las variantes que aportan y por qué se crearon así, qué problemas tratan de resolver.
En esta clase comenzamos con la parte práctica del curso. Trabajaremos sobre la aplicación del tic tac toe, estudiando los paquetes qué vamos a incorporar para ordenar las clases del proyecto. Se verá mediante un diagrama de paquetes comentando las decisiones que se han tomado y como aplicamos la teoría aprendida durante la primera parte del curso.
En esta clase veremos cómo se ha reflejado en el código del proyecto la arquitectura del software que habíamos explicado y diagramado en la clase anterior.
En esta clase analizamos un proyecto real, con sus mismos autores, en los que nos desgranan todo el diseño y la arquitectura del software que han empleado.
En esta clase veremos toda una serie de exposiciones de diagramas de la arquitectura de los frameworks, presentadas por los propios estudiantes del curso. Veremos frameworks frontend y backend. Angular, Spring, NestJS, JSF, MVC .NET...
En esta clase veremos cómo vamos a aplicar la arquitectura del software y otros conocimientos para aquellos que quieran acompañarnos a lo largo del Máster de Desarrollo de EscuelaIT, por medio de prácticas de desarrollo con y sin tecnologías.
En esta clase vamos a realizar una práctica de Plant UML, para aprender a crear diagramas UML con código, lo que permite una generación más rápida de los diagramas, pero sobre todo un mantenimiento más sencillo y ágil.
Valoraciones
Rubén Galán Jiménez
Este curso, como los anteriores del master te empapan de conocimiento del bueno, del que de verdad necesitas como desarrollador. Impagable, no he encontrado ningún otro sitio en el que te expliquen los conceptos que Luís explica aquí. De Luís no puedo decir nada más de lo que ya se ha aportado, el p* amo. Ahora empiezo a ver la luz. Muchas gracias Luís
Maria Paula Herrero
Hasta ahora muy teórico pero esta bien explicado
Antonio Berbel Gonzalez
El profesor Luis es inmejorable. Un 10 por sus explicaciones
Cristóbal Cobos Budia
Angel Rodriguez gavira
Jose Manuel Campos Soberano
Excelente curso, el mejor profesor que he tenido, es un orgullo poder estudiar con Luis Fernandez
Víctor Hugo Torres Manrique
El profe Luís tiene un estilo muy claro para explicar los temas. Excelente!
jaimedocal@gmail.com
Muy buen curso como siempre
Victor Moreno
Quitar ruido es una gran aportacion de este curso. Genial.
Pedro Zamora
Eduardo Franco Gutierrez
María Belén Rivera
Excelente las explicaciones del Profesor Luis
Eduard Gallofré Asens
Juan Caravaca
Joaquín Ramos Merchán
Antonio José Sinoga
Un curso que despeja la paja para ir al grano en tiempos en los que tenemos que saber todo y de todo.
eniel lorenzo
Excelente, como todos los cursos de Luis.
Nicolas
Otro gran curso, gracias!
Jose García
Agustin
Andres Hoyos
Excelente curso.
Andres Hoyos
Marcos Antonio Valencia Ramírez
Glen Cifuentes Toro
El curso me ha parecido excelente. Conceptos muy claros y el final con la exposición de distintos frameworks ha dejado en evidencia que la teoría no es solo eso. Agregar que el profesor Luis, en su estilo, lo hace muy divertido.
Alberto Morales
Excelente!!!, aporta un conocimiento muy sólido y da una visión mas amplia y profunda de las arquitecturas de software
Daniel Saez
excelente curso. muy explicativo y también con clases prácticas.
Jymmy Dextre Alarcon
Antonio José Navarro Céspedes
Eduardo Betanzos Morales
Un curso extraordinario, como todos los de Luis Fernández.
Ana Santamaría Aparicio
Rene Zamorano
Ilya Kabushko
Victor Ordaz
Pedro Escudero Granado
Diego Oliva
Muy buen curso, como todo el Master: Conceptos claros y bien explicados con las prácticas
Antonio Ramón Padrón Ferrer
Ramiro
excelente
Enrique Arrabal Almagro
Hugo Andres Portocarrero Inclan
Me encanta, los sigo desde bastante tiempo en youtube, admiro y respeto mucho a Luis, saludos a todos desde Bolivia.
Sergio Gonzalez
Desconocía que la modalidad fueran clases grabadas, entiendo que en un curso formal existan dinámicas y materiales que sumen al aprendizaje. Pero alguien que está viendo esta grabación se pierde, Existe un capítulo que realmente no suma a alguien que esté tomando solo este "Curso". De todas forma la información y experiencia entregada no me deja con sabor amargo.
Daniel Rodriguez Rodriguez
Muy técnica y profesional
WILFREDO LOPEZ
Soy programador desde el 1991, como me hubiese gustado haber tenido un curso, en mis comienzo y a un profesor como luis rodriguez. Felicitaciones a miguelangue por esta iniciativa. Recomiendo este curso 100% si realmente, desean ser un profesional al alto calibre
Israel Josue Parra Rosales
TATIANA PERSON MONTERO
Curso muy interesante y bien explicado.
¿Conoces nuestra tarifa plana?
Toda la formación de EscuelaIT, con más de 190 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.