Prompteo
Gratis

Curso de Arquitectura de software

Diseñá sistemas a nivel arquitectura: decisiones caras de revertir, características y trade-offs, estilos, DDD, puertos y adaptadores, funciones de aptitud, métricas y software verde. Para quien ya programa y ahora tiene que decidir la forma del sistema.

Unidades
8 unidades
Lecciones
16 lecciones
Ejercicios
112 ejercicios
Niveles
Intermedio → Avanzado

Niveles del curso

  • Intermedio

    3 unidades · 6 lecciones

  • Avanzado

    5 unidades · 10 lecciones

Temario completo

  1. 1. Qué es arquitectura y qué hace un arquitecto

    Intermedio

    Distinguir las decisiones arquitectónicas del resto del código, entender el rol del arquitecto y registrar decisiones con ADRs.

    No todo el código es arquitectura. Lo arquitectónico son las decisiones caras de revertir: las que seis meses después ya no se cambian con un refactor de una tarde. Martin Fowler le atribuye a Ralph Johnson la definición más honesta que circula: arquitectura es the important stuff — whatever that is. Qué es importante depende del contexto.

    Lecciones

    • Qué cuenta como decisión arquitectónica
    • El ascensor, los niveles y el Advice Process
  2. 2. Características arquitectónicas y trade-offs

    Intermedio

    Elegir y priorizar las -ilities que manda el negocio, y medir acoplamiento, cohesión y quantum para entender qué se paga por cada una.

    Neal Ford y Mark Richards abren con la Primera Ley de la Arquitectura de Software: everything in software architecture is a trade-off; if you think you've found something that isn't a trade-off, you haven't looked hard enough. Y agregan una segunda: *el why importa más que el how***.

    Lecciones

    • Las -ilities y la ley del trade-off
    • Acoplamiento, cohesión y quantum arquitectónico
  3. 3. Estilos arquitectónicos

    Intermedio

    Conocer capas, monolito modular, microkernel, service-based, event-driven y space-based, y elegir a partir de las características priorizadas.

    Un estilo no se elige por moda: se elige a partir de las características que priorizaste. Primero decidís qué tiene que cumplir el sistema; recién después mirás qué estilo lo cumple con el costo que estás dispuesto a pagar.

    Lecciones

    • Capas, monolito modular y microkernel
    • Service-based, event-driven y space-based
  4. 4. Domain-Driven Design

    Avanzado

    Lenguaje ubicuo, subdominios, bounded contexts, agregados y los patrones de context mapping que ordenan la relación entre equipos.

    DDD no es una tecnología: es dejar que el negocio decida los límites del software. Learning Domain-Driven Design, de Vlad Khononov, lo presenta como herramientas estratégicas y tácticas para alinear la arquitectura con la estrategia del negocio.

    Lecciones

    • Lenguaje ubicuo, subdominios y bounded contexts
    • Agregados y context mapping
  5. 5. Patrones de arquitectura en el código

    Avanzado

    Puertos y adaptadores, repositorio, unit of work, capa de servicio, eventos de dominio y CQRS, con el código de esta misma app como ejemplo.

    Architecture Patterns with Python, de Harry Percival y Bob Gregory, reúne los patrones que hacen que la arquitectura se note en el código y no solo en un diagrama.

    Lecciones

    • Puertos y adaptadores en la práctica
    • Repositorio, unit of work, eventos y CQRS
  6. 6. Arquitectura evolutiva

    Avanzado

    Funciones de aptitud como tests ejecutables de la arquitectura, cambio guiado e incremental y gobernanza automatizada.

    Neal Ford, Rebecca Parsons y Patrick Kua definen una arquitectura evolutiva como la que soporta cambio guiado e incremental en múltiples dimensiones: guiado (no a la deriva), incremental (no big bang) y en muchas dimensiones (técnica, datos, seguridad, performance). La segunda edición lleva el subtítulo Automated Software Governance.

    Lecciones

    • Funciones de aptitud
    • Cambio guiado y gobernanza automatizada
  7. 7. Métricas y diseño con significado

    Avanzado

    Qué medir de una arquitectura —acoplamiento, complejidad, entrega— y cómo sostener el significado de nombres y diagramas mientras el sistema crece.

    Una característica arquitectónica que no se puede evaluar no se puede sostener. Medir es lo que convierte una intención en una función de aptitud.

    Lecciones

    • Qué medir de una arquitectura
    • De métricas a funciones de aptitud, y el significado
  8. 8. Systems thinking y software verde

    Avanzado

    Razonar sobre el sistema completo en vez de sus partes, y tratar la eficiencia de carbono, energía y hardware como una característica arquitectónica más.

    Learning Systems Thinking, de Diana Montalion, presenta el pensamiento sistémico como herramientas para entender de forma holística cómo se conectan, interactúan e influyen las partes de un sistema de software o de una organización, en contraste con los enfoques puramente reduccionistas. Recorre la integridad conceptual, la dinámica de equipo con sus lazos de realimentación y el modelado colaborativo.

    Lecciones

    • Pensar en sistemas
    • Software verde como característica arquitectónica

Qué vas a saber al terminar

  • Qué es arquitectura y qué hace un arquitecto: Distinguir las decisiones arquitectónicas del resto del código, entender el rol del arquitecto y registrar decisiones con ADRs.
  • Características arquitectónicas y trade-offs: Elegir y priorizar las -ilities que manda el negocio, y medir acoplamiento, cohesión y quantum para entender qué se paga por cada una.
  • Estilos arquitectónicos: Conocer capas, monolito modular, microkernel, service-based, event-driven y space-based, y elegir a partir de las características priorizadas.
  • Domain-Driven Design: Lenguaje ubicuo, subdominios, bounded contexts, agregados y los patrones de context mapping que ordenan la relación entre equipos.
  • Patrones de arquitectura en el código: Puertos y adaptadores, repositorio, unit of work, capa de servicio, eventos de dominio y CQRS, con el código de esta misma app como ejemplo.
  • Arquitectura evolutiva: Funciones de aptitud como tests ejecutables de la arquitectura, cambio guiado e incremental y gobernanza automatizada.
  • Métricas y diseño con significado: Qué medir de una arquitectura —acoplamiento, complejidad, entrega— y cómo sostener el significado de nombres y diagramas mientras el sistema crece.
  • Systems thinking y software verde: Razonar sobre el sistema completo en vez de sus partes, y tratar la eficiencia de carbono, energía y hardware como una característica arquitectónica más.
Empezar gratis

Seguí con estos cursos

Prompteo — aprendé haciendo. Hecho por Hernán de Souza · 2026

Proyecto independiente. No afiliado a Anthropic ni a Duolingo. Los nombres de productos mencionados pertenecen a sus respectivos dueños.