Existe-t-il des projets open source utilisant DDD (Domain Driven Design)? [fermé]
-
02-07-2019 - |
Question
J'essaie de comprendre les concepts qui sous-tendent DDD, mais j'ai du mal à comprendre simplement en lisant des livres, car ils ont tendance à aborder le sujet de manière assez abstraite. Je voudrais voir de bonnes implémentations de DDD en code, de préférence en C #.
Existe-t-il de bons exemples de projets pratiquant la DDD dans le monde de l'open source?
La solution
Eric Evans et une société de conseil suédoise ont publié un exemple d'application basé sur l'exemple d'expédition utilisé par Eric tout au long du livre. C'est en Java, mais les concepts sont bien décrits sur la page du projet.
http://dddsample.sourceforge.net/
Toutefois, sachez que DDD concerne davantage le trajet que la destination. Comprenez que l’exemple de code que vous recherchez a pris de nombreuses formes avant de devenir ce que vous voyez maintenant. Vous n'avez pas vu les modèles peu pratiques qui ont été utilisés à l'origine et il vous manque les étapes entreprises pour reformuler le modèle en fonction des connaissances acquises au fil du temps. Même si les blocs de construction sont importants dans le DDD, Eric pense qu’ils sont trop soulignés, prenez donc tous les échantillons avec un grain de sel.
Autres conseils
Je ne sais pas à quel point il est complet, mais j'ai trouvé l'exemple NDDD . sur Google Code.
Je suis surpris que personne n'ait mentionné Macto , l'exemple DDD d'Ayende. La chose la plus importante à propos de Macto est que le processus de réflexion préalable au codage est présenté dans une série de messages . DDD ne consiste pas à implémenter un modèle, mais à modéliser un domaine métier. Des décisions comme "un concept est un objet racine / entité / valeur agrégé" sont bien plus importants que la persistance d'un RA.
De même, je recommanderais les vidéos d'Udi Dahan sur SOA et CQRS, qui pourraient fournir un meilleur contexte pour appliquer le DDD.
Il ne s’agit pas d’un projet open source, c’est néanmoins un exemple en code: http: // www. codeplex.com/dddpds
L'exemple est utilisé dans le livre Conception pilotée par le domaine .NET en C #: Solution de problème de conception
Un exemple inventé qui semble prometteur mais qui aurait pu mourir: http://www.codeplex.com/domaindrivendesign
Je crains que http://www.codeplex.com/domaindrivendesign ne soit effectivement mort , mais si quelqu'un est intéressé à contribuer n'hésitez pas à me contacter.
Dans l’ensemble, je recommande de ne pas trop s’appuyer sur des exemples de DDD; au mieux, des exemples peuvent montrer les résultats de la modélisation de domaine et / ou une approche pour la mise en œuvre des modèles. Je vous recommande donc de lire le livre, puis de poser des questions sur le forum .
http://kigg.codeplex.com/ est un bon exemple pour moi.
Je sais que ce n'est pas du C #, mais il s'agit d'un méta-cadre java qui suit une approche axée sur le domaine: je ne connais pas grand chose à ce sujet mais je suis disposé à l'étudier dans un proche avenir: Cadre pour les Roms
http://sellandbuy.codeplex.com/
un autre projet DDD
Une bonne lecture est le livre de Jimmi Nilssons (et son blog d'ailleurs) Application de la conception pilotée par un domaine
Il s'agit d'un mélange de livres Evans et Fowlers ( conception axée sur le domaine . - Evans), et ( Modèles d’architecture d’applications d’entreprise - Fowler)
Je n'en ai utilisé aucun moi-même, mais certains outils sont mentionnés sur la page Wikipedia de DDD. La plupart d'entre eux semblent cependant être implémentés en Java.
http://fr.wikipedia.org/wiki/Domain-driven_design # Software_tools_to_support_domain-driven_design
Bien, j'ai trouvé ceci, mais c'est Java et non pas C #:
http://timeandmoney.domainlanguage.com/
serveur Code Camp , Exemple de code de Jeffrey Palermo pour le livre ASP.NET MVC in Action est open source et utilise DDD.
(Identique à ma réponse dans exemples de bonne conception dirigée par un domaine )