Domain-Driven Design Aplicado a .NET 9

Agradecimientos

Ningún proyecto, especialmente uno tan personal y ambicioso como este libro, se logra en soledad. La creación de Domain-Driven Design Aplicado a .NET 9 ha sido un viaje que refleja no solo mi pasión por el diseño de software, sino también el apoyo incondicional de las personas que han estado a mi lado a lo largo de mi trayectoria como Ingeniero de Software y líder de KitsuneData Integral Solutions.

Domain-Driven Design Aplicado a .NET 9

Prólogo

Bienvenidos a Domain-Driven Design Aplicado a .NET 9. Este libro nace de una pasión por construir software que no solo funcione, sino que sea un reflejo fiel del negocio al que sirve. Como Ingeniero de Software con más de 20 años de experiencia, he tenido la oportunidad de trabajar en proyectos que abarcan desde sistemas monolíticos hasta arquitecturas modernas basadas en microservicios. A lo largo de este camino, he sido testigo de los desafíos que surgen cuando el código se desconecta de las necesidades del negocio, resultando en sistemas complejos, difíciles de mantener y poco alineados con los objetivos empresariales.

Domain-Driven Design Aplicado a .NET 9

Aspectos importantes antes de seguir el viaje

Bienvenidos a Domain-Driven Design Aplicado a .NET 9. Este libro nace de una pasión por construir software que no solo funcione, sino que sea un reflejo fiel del negocio al que sirve. Como Ingeniero de Software con más de 20 años de experiencia, he tenido la oportunidad de trabajar en proyectos que abarcan desde sistemas monolíticos hasta arquitecturas modernas basadas en microservicios. A lo largo de este camino, he sido testigo de los desafíos que surgen cuando el código se desconecta de las necesidades del negocio, resultando en sistemas complejos, difíciles de mantener y poco alineados con los objetivos empresariales.

Domain-Driven Design Aplicado a .NET 9

Capítulo 1: Introducción a Domain-Driven Design

Bienvenidos al primer paso en nuestro viaje para dominar el diseño orientado al dominio (DDD) con .NET 9. Este capítulo presenta los fundamentos de DDD, un enfoque que alinea el software con las necesidades del negocio. Como Ingeniero de Software con más de 20 años de experiencia y líder de KitsuneData Integral Solutions, he visto cómo DDD transforma proyectos al centrarse en el dominio del negocio, y en este libro te guiaré para aplicarlo en proyectos modernos usando .NET 9. Exploraremos qué es DDD, sus beneficios y desafíos, por qué .NET 9 es un entorno ideal, la diferencia entre DDD estratégico y táctico, y un caso de estudio inicial para contextualizar los conceptos.

Domain-Driven Design Aplicado a .NET 9

Capítulo 2: DDD Estratégico: Modelando el Dominio

En el capítulo anterior, introdujimos los fundamentos de Domain-Driven Design (DDD) y su relevancia para proyectos modernos con .NET 9. Ahora, nos adentramos en el DDD estratégico, que se centra en modelar el dominio a un nivel macro, dividiéndolo en partes manejables y definiendo cómo interactúan. Como líder de KitsuneData Integral Solutions, he aplicado estas técnicas para alinear sistemas complejos con las necesidades de negocio, y en este capítulo te guiaré para que hagas lo mismo. Exploraremos el lenguaje ubicuo, los contextos acotados, el mapeo de contextos, herramientas como PlantUML, y un ejemplo práctico basado en un sistema de gestión empresarial.

Domain-Driven Design Aplicado a .NET 9

Capítulo 3: DDD Táctico: Building Blocks del Dominio

En los capítulos anteriores, exploramos los fundamentos de Domain-Driven Design (DDD) y su enfoque estratégico para modelar dominios complejos. Ahora, nos adentramos en el DDD táctico, que proporciona los bloques de construcción para implementar el modelo del dominio en código. Como líder de KitsuneData Integral Solutions, he usado estos patrones para transformar procesos empresariales en sistemas robustos, y en este capítulo te guiaré para aplicarlos en .NET 9. Cubriremos entidades, objetos de valor, agregados, eventos de dominio, servicios de dominio, y un ejemplo práctico que modela un agregado “Pedido” en C#.

Domain-Driven Design Aplicado a .NET 9

Capítulo 4: Integración con .NET 9: Persistencia y ORM

En los capítulos anteriores, exploramos los fundamentos de Domain-Driven Design (DDD), su enfoque estratégico y los bloques de construcción tácticos, como entidades y agregados. Ahora, nos enfocamos en cómo implementar estos conceptos en .NET 9, con énfasis en la persistencia de datos. Como líder de KitsuneData Integral Solutions, he usado estas técnicas para construir sistemas robustos que alinean el dominio con bases de datos modernas, y en este capítulo te guiaré para lograrlo. Cubriremos los repositorios, el mapeo de agregados con Entity Framework Core 9, las mejoras de .NET 9, la configuración óptima para DDD, y un ejemplo práctico que persiste el agregado Pedido del Capítulo 3.

Domain-Driven Design Aplicado a .NET 9

Capítulo 5: Microservicios y DDD en .NET 9

En los capítulos anteriores, exploramos los fundamentos de Domain-Driven Design (DDD), su enfoque estratégico, los bloques tácticos y la persistencia con .NET 9. Ahora, nos adentramos en la aplicación de DDD en arquitecturas de microservicios, un enfoque que alinea perfectamente con los contextos acotados de DDD. Como líder de KitsuneData Integral Solutions, he implementado microservicios para transformar procesos empresariales, y en este capítulo te guiaré para hacerlo con .NET 9. Cubriremos cómo alinear microservicios con contextos acotados, la comunicación mediante eventos, la implementación con ASP.NET Core 9, el despliegue con Docker, y un ejemplo práctico que extiende el sistema de e-commerce de los capítulos previos.

Domain-Driven Design Aplicado a .NET 9

Capítulo 6: Patrones avanzados: CQRS, Event Sourcing y Testing

En los capítulos anteriores, exploramos los fundamentos de Domain-Driven Design (DDD), desde el modelado estratégico y táctico hasta la implementación de microservicios con .NET 9. Ahora, abordamos patrones avanzados que potencian los sistemas complejos: CQRS (Command Query Responsibility Segregation), Event Sourcing y estrategias de testing. Como líder de KitsuneData Integral Solutions, he aplicado estos patrones para construir sistemas escalables y mantenibles, y en este capítulo te guiaré para implementarlos en .NET 9. Cubriremos los fundamentos de CQRS, la implementación de Event Sourcing, testing en sistemas DDD, integración con microservicios, y un ejemplo práctico que extiende el sistema de e-commerce de los capítulos anteriores.

Domain-Driven Design Aplicado a .NET 9

Capítulo 7: Casos de estudio y mejores prácticas

En los capítulos anteriores, exploramos los fundamentos de Domain-Driven Design (DDD), desde el modelado estratégico y táctico hasta patrones avanzados como CQRS y Event Sourcing, todo implementado con .NET 9. Ahora, consolidamos este conocimiento con casos de estudio prácticos y mejores prácticas derivadas de proyectos reales. Como líder de KitsuneData Integral Solutions, he aplicado DDD en sistemas complejos para transformar procesos empresariales, y en este capítulo te guiaré para que hagas lo mismo. Cubriremos un caso de estudio detallado basado en un sistema de gestión de inventarios, mejores prácticas para DDD, integración con microservicios, y lecciones aprendidas de implementaciones reales.

  • 1
  • 2