Définition des Contextes Circonscrits
-
Délimitation Claire :
- Un Contexte Circonscrit est une frontière explicite au sein du domaine, dans laquelle un modèle de domaine particulier s’applique de manière cohérente. À l’intérieur de cette frontière, les termes et concepts ont des significations spécifiques et les règles métier sont clairement définies.
- Cette délimitation permet de réduire la complexité en séparant les différentes parties du domaine qui peuvent évoluer indépendamment les unes des autres.
-
Langage Ubiquitaire :
- Chaque Contexte Circonscrit dispose de son propre Langage Ubiquitaire, c’est-à-dire un vocabulaire et un ensemble de concepts partagés par tous les membres de l’équipe travaillant dans ce contexte.
- Cela garantit que la communication au sein du Contexte Circonscrit est claire et sans ambiguïté, alignant ainsi les développeurs et les experts métier.
-
Modèles Indépendants :
- Les modèles de domaine dans différents Contextes Circonscrits peuvent varier indépendamment les uns des autres. Cela permet de traiter les différentes parties du domaine avec la spécificité et la précision nécessaires, sans créer de confusion ou de chevauchement entre les concepts.
- Les Contextes Circonscrits peuvent évoluer et changer indépendamment, ce qui facilite la gestion de la complexité et de la maintenance du système global.
Relations entre Contextes Circonscrits
-
Cartographie des Contextes :
- La cartographie des Contextes Circonscrits consiste à définir les relations entre eux. Ces relations peuvent être de différents types, tels que des partenariats, des relations de client-fournisseur ou des relations de conformité.
- La cartographie aide à comprendre comment les différentes parties du système interagissent et où des traductions ou des transformations de données sont nécessaires.
-
Anticorruption Layer (ACL) :
- Un Anticorruption Layer est une couche intermédiaire qui protège un Contexte Circonscrit des effets indésirables des autres contextes. Il agit comme une barrière, traduisant les modèles et les termes des autres contextes en termes compatibles avec le contexte protégé.
- Cela permet de maintenir la pureté et la cohérence du modèle de domaine au sein du Contexte Circonscrit.
-
Intégration et Communication :
- Les Contextes Circonscrits communiquent entre eux via des interfaces bien définies. Cela peut être réalisé à travers des services, des événements ou des APIs.
- Les mécanismes de communication doivent être conçus pour minimiser les dépendances et maintenir l’indépendance des contextes.
Exemple Pratique
Supposons que vous développez un système pour une entreprise de commerce électronique. Voici comment les Contextes Circonscrits pourraient être définis :-
Contexte Circonscrit de Gestion des Produits :
- Ici, les termes comme “Produit”, “Catégorie” et “Inventaire” ont des significations spécifiques. Les règles métier concernent la gestion des informations produit, la mise à jour des stocks, etc.
-
Contexte Circonscrit de Gestion des Commandes :
- Ce contexte se concentre sur les termes comme “Commande”, “Panier”, et “Livraison”. Les règles métier incluent le traitement des commandes, la gestion des paniers et le suivi des livraisons.
-
Contexte Circonscrit de Gestion des Clients :
- Les termes comme “Client”, “Compte”, et “Profil” sont définis ici. Les règles métier couvrent la gestion des informations client, les préférences de compte, et les programmes de fidélité.
-
Contexte Circonscrit de Paiement :
- Ce contexte traite des termes comme “Transaction”, “Facture” et “Moyen de Paiement”. Les règles métier incluent le traitement des paiements, la gestion des transactions et la génération des factures.