J'apprends la conception pilotée par domaine, mais il y a des problèmes pratiques qui me déroutent et je pense que voir de bons échantillons pourrait s'éclaircir.
Quelqu'un connaît-il de bons exemples de code de travail qui font du bon travail de modélisation des concepts DDD de base?
Particulièrement intéressé par
- Un modèle de domaine illustratif
- Dépôts
- Utilisation des services de domaine / d'application
- Objets de valeur
- Racines agrégées
domain-driven-design
jlembke
la source
la source
Réponses:
La difficulté avec les échantillons DDD est qu'ils sont souvent très spécifiques au domaine et l'implémentation technique du système résultant ne montre pas toujours les décisions de conception et les transitions qui ont été faites dans la modélisation du domaine, qui est vraiment au cœur de DDD. DDD concerne beaucoup plus le processus que le code. (comme certains le disent, le meilleur échantillon DDD est le livre lui-même!)
Cela dit, un exemple d'application bien commenté devrait au moins révéler certaines de ces décisions et vous donner des indications en termes de mise en correspondance de votre modèle de domaine avec les modèles techniques utilisés pour le mettre en œuvre.
Vous n'avez pas spécifié la langue que vous utilisez, mais je vais vous en donner quelques-unes dans différentes langues:
DDDSample - un exemple Java qui reflète les exemples dont Eric Evans parle dans son livre . Ceci est bien commenté et montre un certain nombre de méthodes différentes pour résoudre divers problèmes avec des contextes délimités séparés (c'est-à-dire la couche de présentation). Il est activement travaillé, alors vérifiez-le régulièrement pour les mises à jour.
dddps - Exemple d' application C # de Tim McCarthy pour son livre, .NET Domain-Driven Design with C #
Architecture S # arp - un exemple pragmatique en C #, pas aussi "pure" qu'une approche DDD peut-être en raison de son absence d'un vrai problème de domaine, mais toujours une belle approche propre.
Avec tous ces exemples d'applications, il est probablement préférable de consulter les dernières versions de tronc de SVN / quoi que ce soit pour vraiment avoir une idée des modèles de pensée et de technologie car ils devraient être mis à jour régulièrement.
la source
dddps
semble complètement anémique et contraire à la POO en fait. Aucun des objets de domaine n'a de comportement et les classes de la couche de service sont essentiellement une délégation 1: 1 aux référentiels. Je ne sais pas si cela devrait être considéré comme un "bon" exemple de DDD? J'apprends encore moi-même, mais les exemples de l'architecture S # arp semblent être un meilleur exemple pour ceux qui apprennent le DDD car il englobe à la fois l'état et le comportement, ce qui est une bonne conception de POO.Pas des projets sources à proprement parler mais je suis tombé sur Parleys.com qui a quelques bonnes vidéos qui couvrent assez bien DDD (nécessite flash):
Je les ai trouvés beaucoup plus utiles que les exemples DDD presque inexistants actuellement disponibles.
la source
L'échantillon DDD .NET du livre de conception piloté par domaine d'Eric Evans peut être trouvé ici: http://dddsamplenet.codeplex.com
À votre santé,
Jakub G
la source
Découvrez Project Silk . Non seulement il démontre le DDD, mais aussi d'autres modèles de pointe. Il s'agit d'une excellente ressource pour tout développeur Web. Un aperçu complet du projet est disponible sur MSDN .
la source
Ceci est un bon exemple basé sur une conception pilotée par domaine et explique pourquoi il est important d'avoir une couche de domaine distincte.
Microsoft Espagne - Architecture DDD N Layer
la source
ddd-cqrs-sample est également une bonne ressource. Écrit avec Java, Spring et JPA.
Lien mis à jour: https://github.com/BottegaIT/ddd-leaven-v2
la source
Code Camp Server , exemple de code de Jeffrey Palermo pour le livre ASP.NET MVC en action . Alors que le livre se concentre sur la couche de présentation, l'application est modélisée à l'aide de DDD.
la source