Après environ un mois de lecture et de recherche sur DDD, j'ai décidé de démarrer mon propre projet et j'ai créé DDD avec ces contextes délimités>
- Clients
- Des produits
- Ordres
- Facturation
Chaque contexte borné possède une API de repos en tant que couche de présentation, couche de domaine, couche persistante.
Jusqu'ici tout va bien, le code fonctionne bien, mais venant d'un monde monolithique, j'essaie toujours de comprendre ce qui suit:
- quand je veux créer un nouveau client, émettre une nouvelle facture, créer une nouvelle commande je veux par exemple accéder à la liste des pays. Est ce que je:
a) créer une liste de pays dans chaque BC
b) créer un pays BC -> API et l'utiliser pour obtenir une liste des pays disponibles
c) utiliser une API tierce et extraire des données via une couche anticoruption dans chaque BC
- lors de l'intégration avec une API tierce à l'aide d'une couche anti-corruption ou d'une couche d'adaptateur, quelles données doivent être incluses dans mon modèle de domaine? Par exemple, si je souhaite intégrer une API zendesk à un client BC. Ai-je juste besoin d'un ticketID dans mon domaine, ou dois-je extraire toutes les données de Zendesk auxquelles je veux accéder et utiliser dans un client BC?
Si mon application MVC obtient réellement des données à partir d'API (couches de présentation de mes contextes délimités), je trouve qu'il est très difficile de définir clairement les limites de chaque BC. Cela signifie-t-il qu'un BC correctement conçu servirait un seul contrôleur MVC sans avoir besoin de consommer des API supplémentaires?