Lors de l'évaluation d'un projet potentiel au travail, j'ai suggéré qu'il pourrait être avantageux d'utiliser une approche de conception pilotée par domaine pour son modèle objet. Le projet n'a pas de domaine excessivement complexe, donc mon collègue m'a lancé ceci:
Il a été dit que DDD est favorable dans les cas où il existe un modèle de domaine complexe («... Il s'applique chaque fois que nous opérons dans un domaine complexe et complexe» Eric Evans).
Ce que je perds, c'est - comment définissez-vous la complexité d'un domaine? Peut-il être défini par le nombre de racines agrégées dans le modèle de domaine? La complexité d'un domaine est-elle dans l'interaction des objets?
Le domaine que nous évaluons est la publication en ligne et la gestion de contenu connexes.
Réponses:
La complexité de la logique métier, également appelée comportement de l'application, est le facteur le plus important. Le deuxième facteur le plus important est l'écart entre le problème technique et le vocabulaire commercial utilisé pour décrire ce problème, car DDD consiste à créer un vocabulaire partagé entre l'entreprise et l'équipe d'ingénierie.
Certains des modèles utilisés dans DDD sont généralement utiles dans l'architecture des applications d'entreprise, tels que le modèle de référentiel, le contexte délimité et l'architecture en couches. Ce n'est pas parce que vous utilisez ces modèles que vous effectuez une conception basée sur le domaine.
S'il n'y a pas beaucoup de comportement, c'est-à-dire que vous stockez principalement des données et que vous n'agissez pas sur ces données, la création de cette couche de domaine peut avoir beaucoup moins de valeur. Dans la gestion de contenu, si tout ce que vous faites est d'approuver et de publier, cela peut être représenté par des indicateurs dans le système, plutôt que par des méthodes de domaine. Mais lorsque vous commencez à ajouter un comportement supplémentaire, la pertinence d'une couche de domaine complète devient plus apparente.
Si nous parlons de gestion de contenu, voici quelques règles (imaginées) qui pourraient commencer à faire allusion à la nécessité de DDD:
la source