La pratique du DDD ne s'applique pas nécessairement à tous les projets logiciels. La pratique du DDD peut apporter une certaine complexité en elle-même qui serait superflu dans certains cas. Il faut y voir une certaine complexité dans la logique d'affaire pour y recourir.
Si le logiciel est plutôt axé sur des qualités de performances, de complexité technique, de quantités importantes de données (ex: bigdata), il n'est pas nécessairement souhaitable de mettre en place du DDD dans ces genres de projets.
Principes de base:
Ubiquitous Language: pont entre les développeurs et les experts, langage commun
Bounded context: Limites claires entre les différentes parties du système (ex: Sales, Support, etc)
Core domain: Focaliser sur les parties du système les plus importantes.
Développeur | Expert du domaine |
---|---|
Défis techniques | Point de vue de l'expert du domaine |
Réutilisation des connaissances techniques | Compétence pour vulgariser les problèmes du domaine |