Curso de Arquitecturas del Software Ágiles y Pesadas

Domina las arquitecturas del software más populares: MV*, arquitectura Hexagonal, Clean Architecture, Onion Architecture.
En marcha
Avanzado
10 Clases 17 h (aprox.)

Próxima clase

Lunes 19 de abril

h

Añadir a Google Calendar

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.

Clase 9
Añadir a Google Calendar
Clase 10
Añadir a Google Calendar

Avisos

Para ver los avisos del curso necesitas acceder con tu cuenta de usuario.

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

Manuel Soberano

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

¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 170 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