Partager via


Aborder la complexité métier dans un microservice avec des modèles DDD et CQRS

Conseil / Astuce

Ce contenu est un extrait du livre électronique 'Architecture des microservices .NET pour les applications .NET conteneurisées', disponible sur .NET Docs ou en tant que PDF téléchargeable gratuitement, lisible hors ligne.

Architecture de microservices .NET pour les applications .NET conteneurisées - vignette de couverture du livre électronique.

Concevez un modèle de domaine pour chaque microservice ou contexte délimité qui reflète la compréhension du domaine métier.

Cette section se concentre sur les microservices plus avancés que vous implémentez lorsque vous devez aborder des sous-systèmes complexes ou des microservices dérivés des connaissances des experts du domaine avec des règles métier en constante évolution. Les modèles d’architecture utilisés dans cette section sont basés sur la conception pilotée par le domaine (DDD) et les approches de séparation des responsabilités des commandes et des requêtes (CQRS), comme illustré dans la figure 7-1.

Diagramme comparant les modèles d’architecture externe et interne.

Différence entre l’architecture externe : modèles de microservice, passerelles d’API, communications résilientes, pub/sub, etc. et architecture interne : données pilotées/CRUD, modèles DDD, injection de dépendances, plusieurs bibliothèques, etc.

Figure 7-1. Architecture de microservice externe et modèles d’architecture interne pour chaque microservice

Toutefois, la plupart des techniques de microservices pilotés par les données, telles que l’implémentation d’un service d’API web core ASP.NET ou l’exposition des métadonnées Swagger avec Swashbuckle ou NSwag, sont également applicables aux microservices plus avancés implémentés en interne avec des modèles DDD. Cette section est une extension des sections précédentes, car la plupart des pratiques expliquées précédemment s’appliquent également ici ou pour n’importe quel type de microservice.

Cette section fournit d’abord des détails sur les modèles CQRS simplifiés utilisés dans l’application de référence eShopOnContainers. Plus tard, vous obtenez une vue d’ensemble des techniques DDD qui vous permettent de trouver des modèles courants que vous pouvez réutiliser dans vos applications.

DDD est un sujet important avec un ensemble complet de ressources pour l’apprentissage. Vous pouvez commencer par des livres comme Domain-Driven Design par Eric Evans et des matériaux supplémentaires de Vaughn Vernon, Jimmy Nilsson, Greg Young, Udi Dahan, Jimmy Bogard et de nombreux autres experts DDD/CQRS. Mais la plupart d’entre vous devez essayer d’apprendre à appliquer des techniques DDD à partir des conversations, du tableau blanc et des sessions de modélisation de domaine avec les experts de votre domaine métier concret.

Ressources supplémentaires

DDD ( conceptionDomain-Driven)
Ouvrages DDD
Formation DDD