Conception pilotée par le domaine
La conception dirigée par le domaine (ou DDD, de l'anglais domain-driven design) est une approche de la conception logicielle fondée sur deux principes :
- les conceptions complexes doivent être basées sur une modélisation. Par exemple UML ou modèle entité-association ;
- l'accent doit être sur le domaine et la logique associée. Et à ce titre il constitue l'une des couches de l'architecture en couches (entre les couches utilisateur et infrastructure par exemple[1]).
Histoire
modifierL'expression domain-driven design provient du titre d'un livre de Eric Evans en 2003[2].
Concepts
modifierContexte
modifierLe périmètre où un mot ou phrase a une signification, le même mot peut exister dans d'autres contextes mais avec une autre signification ou ne pas exister.
Au carrefour des contextes, il faut mettre en place un langage ubiquitaire, c'est-à-dire un langage structuré autour du modèle du domaine et utilisé par tous les membres de l'équipe, aussi bien techniques que métiers[3].
Domaine
modifierLa sphère d'un métier ou activité pour lequel on développe l'application.
Chaque domaine doit dépendre du noyau, mais le noyau ne doit dépendre d'aucun domaine[4].
Modèle
modifierUne abstraction qui décrit les concepts sélectionnés d'un domaine peut être utilisée pour résoudre les problèmes liés à ce domaine.
Références
modifier- (en) « 6. Domain-Driven Design - Layered Architecture », sur nareshbhatia.dev (consulté le ).
- (en) « Domain-Driven Design by Eric Evans », sur dddcommunity.org, (consulté le ).
- « DDD : Domain-Driven Design (Théorie & Pratique) », sur Alex so yes, (consulté le ).
- (de) « DDD Concepts and Patterns - Distillation of the core domain », sur Opus Software AG, (consulté le ).