Repolode
evolutionary-architecture

evolutionary-architecture/evolutionary-architecture-by-example

Repositorio de ejemplo paso a paso en .NET 9 que muestra cómo un sistema para un gimnasio evoluciona de un monolito simple a un monolito modular, microservicios y DDD táctico.

Estrellas
3,577
Forks
550
Issues abiertos
15
Último commit
hace 12 días

¿Qué es?

Evolutionary Architecture by Example es un repositorio didáctico sobre arquitectura de software en .NET. A lo largo de cuatro capítulos, sigue la evolución de Fitnet, una aplicación ficticia para un gimnasio: comienza como un único proyecto bien organizado, separa los módulos en proyectos diseñados para ese fin, extrae el primer microservicio con una cola de mensajes real y, por último, aplica conceptos de Domain-Driven Design táctico, como objetos de valor, agregados y eventos de dominio.

El repositorio también aborda el aspecto estratégico del trabajo: descomponer el dominio en subdominios mediante Event Storming y Domain Storytelling, definir contextos delimitados y decidir cuánta arquitectura necesita cada módulo. Cada capítulo tiene su propia guía y diagramas interactivos, y las decisiones de arquitectura se registran en un registro de decisiones.

El código está escrito en C# sobre .NET 9, usa minimal APIs y bibliotecas como MediatR, Dapper, Entity Framework, FluentValidation, .NET Aspire y Testcontainers. La elección del frontend, el registro de logs y las pruebas de contratos quedan a criterio del lector.

Funciones clave

  • 01Recorre cuatro capítulos que transforman una base de código: de un único proyecto a microservicios
  • 02Muestra cómo separar los módulos según su complejidad, en lugar de aplicar la misma arquitectura en todas partes
  • 03Aborda la descomposición del dominio con Event Storming y el diseño de contextos delimitados
  • 04Demuestra conceptos de DDD táctico, incluidos objetos de valor, agregados y eventos de dominio
  • 05Desarrollado con C# y .NET 9, usa minimal APIs y MediatR

Casos de uso

  • Aprender cuándo pasar de un monolito a un monolito modular o a microservicios
  • Estudiar cómo aplicar DDD de forma incremental en una base de código .NET existente
  • Preparar conversaciones sobre arquitectura con un ejemplo concreto que evoluciona
  • Explorar cómo introducir una cola de mensajes entre módulos

Antes de usarlo

  • El frontend no está incluido; el README deja en manos del lector la elección de la tecnología para el frontend.
  • El logging y las pruebas de contrato quedan a cargo del lector; se sugieren Serilog y Pact Net, pero no se incluyen.

En colecciones

Temas

#software-architecture#domain-driven-design#modular-monolith#microservices#dotnet#csharp#clean-architecture#architecture#architecture-components#architecture-decision-records

Preguntas frecuentes

¿Qué es evolutionary-architecture-by-example?
Repositorio de ejemplo paso a paso en .NET 9 que muestra cómo un sistema para un gimnasio evoluciona de un monolito simple a un monolito modular, microservicios y DDD táctico. Evolutionary Architecture by Example es un repositorio didáctico sobre arquitectura de software en .NET. A lo largo de cuatro capítulos, sigue la evolución de Fitnet, una aplicación ficticia para un gimnasio: comienza como un único proyecto bien organizado, separa los módulos en proyectos diseñados para ese fin, extrae el primer microservicio con una cola de mensajes real y, por último, aplica conceptos de Domain-Driven Design táctico, como objetos de valor, agregados y eventos de dominio.
¿evolutionary-architecture-by-example es gratuito? ¿Qué licencia tiene?
evolutionary-architecture-by-example es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿evolutionary-architecture-by-example sigue mantenido?
Mantenimiento activo. El último commit de evolutionary-architecture-by-example fue el 26 oct 2026.
¿Para qué puedo usar evolutionary-architecture-by-example?
Aprender cuándo pasar de un monolito a un monolito modular o a microservicios Estudiar cómo aplicar DDD de forma incremental en una base de código .NET existente Preparar conversaciones sobre arquitectura con un ejemplo concreto que evoluciona Explorar cómo introducir una cola de mensajes entre módulos
¿Dónde consigo evolutionary-architecture-by-example?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/evolutionary-architecture/evolutionary-architecture-by-example

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados