Qu'est-ce que la conception axée sur le domaine? [fermé]

J'ai donc reçu cette question de l'un des développeurs de mon équipe: Qu'est-ce que le design piloté par le domaine? Je pourrais bien sûr pointer vers le livre D'Evans, mais est-ce réellement une réponse?

Comment expliquez-vous DDD en quelques phrases aux ingénieurs logiciels juniors de votre équipe?

45
demandé sur jk. 2008-09-19 14:33:35

7 réponses

Je dirais que cette pratique favorise la concentration de vos efforts sur l '"espace problème" plutôt que sur l' "espace solution". Conduire une solution émergente (la conception) en étudiant et en apprenant vraiment à connaître et à comprendre le domaine. L'une des pratiques (tirée de XP) serait l'écriture d'histoires qui se produisent dans le domaine du problème. À partir de ceux-ci, vous pouvez identifier vos cas d'utilisation et vos objets pour votre conception. Ils "émergent" et vous disent ce qui doit être dans la solution, et comment ils devront interagir les uns avec les autres.

42
répondu Holly Styles 2008-09-19 11:00:03

InfoQ a un eBook gratuit:

Conception Pilotée Par Domaine Rapidement

C'est une bonne lecture avec beaucoup d'exemples.

18
répondu Oded 2008-09-19 10:56:38

Dans le processus de découverte du "domaine", vous formez un langage commun, que les développeurs et toutes les autres parties prenantes du projet comprennent.

Le modèle de domaine et son "jargon" sont assez observables dans le code source du produit fini. C'est au moins mon expérience

9
répondu Mats Wiklander 2008-09-19 10:47:51

Une partie importante de DDD est le langage dit omniprésent; c'est-à-dire parler la même langue que les experts en affaires. Et faites votre code / architecture de sorte qu'il reflète ce langage pour éviter les problèmes d'impédance.

4
répondu p3t0r 2008-09-19 10:44:40

Essayer de comprendre ce qu'est le logiciel que vous écrivez et refléter cette compréhension dans le modèle.

4
répondu sumek 2008-09-19 10:55:16

La conception axée sur le domaine consiste à gérer la complexité d'une application dans le modèle de domaine où elle peut le plus facilement être distillée.

C'est très difficile à décrire en quelques phrases, mais je recommanderais le livre InfoQ comme une bonne introduction. J'ai aussi entendu parler de beaucoup de gens qui font un club de lecture avec le livre DDD D'Evans qui a beaucoup aidé à le comprendre.

2
répondu Stefan Moser 2017-05-23 12:10:24

Pour moi est le niveau suivant de OOD / OOP où l'encapsulation est tout au sujet de l'espace de problème, tel que décrit et compris par les utilisateurs, et pas tellement sur l'implémentation technique.

1
répondu webclimber 2008-10-18 01:24:32