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
Avanzado
11 Clases 21 h
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.

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

Arquitectura del software, Arquitectura Hexagonal y otras arquitecturas ágiles Gratis

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.

Principios de la Arquitectura del software

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.

Otros principios de acoplamiento y cohesión de paquetes

En esta clase terminamos con la parte de los principios de paquetes de acoplamiento y comenzamos con los principios de cohesión

Estilos arquitectónicos

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.

Arquitecturas del software MV* variantes de MVC

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.

Práctica de arquitectura del software

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.

Arquitectura del software, aplicada en el código

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.

Descripción de diseño y arquitectura de un proyecto real

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.

Estudio de los estilos arquitectónicos de diversos frameworks

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...

Recapitulación y próximos pasos

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.

PlantUML Gratis

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!

DOCAL ARTAJO / JAIME

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

Visualnacert

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.

Victor Serrano

Muy buen curso para comprender que hay detrás de los frameworks y el ruido de la comunidad.

Orlando Vera

Muy buenos e interesantes temas abordados con maestria por Luis Fernandez cuyas analogías son muy divertidas y didácticas

Federico Andrés Jácome Castañeda

Una vez mas un excelente curso de esta genial plataforma. Sobre todo en temas de arquitecuras se plantean muchas cosas que por lo general no se ven en otras plataformas, foros... Muchas gracias por el trabajo.

Raúl Grados

Vicent Català

Uno cree saber programar hasta que se le cruza un Luis Fernández en la vida y se pone a contarle cosas como las que cuenta en este master. A este señor hay que prestarle atención a lo que dice y explica. Mucha atención. Os aseguro que la evolución que experimentaréis no os la creeréis ni vosotros.

Alvaro plaza lanzas

Laura Ortuño

El curso es de 10, Luis es un crack, pero el examen de certificacion, no está a la altura, parece que lo haya hecho alguien que solo se ha visto el primer video de los 11, y además hay algunas preguntas con fallos y mal redactadas... respuestas repetidas.. no se, revisadlo plis.

Roxana Ariza Sánchez

Muy buen curso

Germán Osvaldo Beltrán

Muy buena

Juan Pablo González Cuéllar

¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 200 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.

Suscríbete