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 :
L'expression domain-driven design provient du titre d'un livre de Eric Evans en 2003[2].
Le 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].
La 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].
Une 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.