هل هناك أي مشاريع مفتوحة المصدر تستخدم DDD (التصميم المعتمد على المجال)؟[مغلق]

StackOverflow https://stackoverflow.com/questions/152120

سؤال

أحاول فهم المفاهيم الكامنة وراء DDD، لكني أجد صعوبة في فهمها بمجرد قراءة الكتب لأنها تميل إلى مناقشة الموضوع بطريقة مجردة إلى حد ما.أرغب في رؤية بعض التطبيقات الجيدة لـ DDD في التعليمات البرمجية، ويفضل أن يكون ذلك في C#.

هل هناك أي أمثلة جيدة لمشاريع تمارس DDD في عالم مفتوح المصدر؟

هل كانت مفيدة؟

المحلول

قام Eric Evans وشركة استشارية سويدية بإصدار نموذج تطبيق يستند إلى مثال الشحن الذي يستخدمه Eric في الكتاب.إنه موجود في Java، لكن المفاهيم موثقة جيدًا على صفحة المشروع.

http://dddsample.sourceforge.net/

ومع ذلك، كن حذرًا من أن DDD يتعلق بالرحلة أكثر من الوجهة.افهم أن نموذج التعليمات البرمجية الذي تبحث عنه اتخذ أشكالًا عديدة قبل أن يصبح ما تراه الآن.لم تشاهد النماذج الغريبة التي تم استخدامها في البداية وتفتقد الخطوات المتخذة لإعادة بناء النموذج بناءً على المعرفة المكتسبة على طول الطريق.في حين أن العناصر الأساسية مهمة في DDD، يعتقد إريك أنه تم التركيز عليها بشكل مبالغ فيه، لذا خذ جميع العينات بحذر.

نصائح أخرى

لست متأكدًا من مدى اكتماله، لكنني وجدت عينة NDDD على كود جوجل.

أنا مندهش لم يذكر أحد ماكتو, ، عينة DDD الخاصة بـ Ayende.أهم شيء في Macto هو أن عملية التفكير العميق قبل تقديم الترميز الفعلي في شكل ملف سلسلة من المشاركات.لا يتعلق DDD بتنفيذ نموذج، بل يتعلق بنمذجة مجال الأعمال.تعتبر القرارات مثل "بعض المفاهيم عبارة عن كائن إجمالي الجذر/الكيان/القيمة" أكثر أهمية بكثير من كيفية استمرار الواقع المعزز.

أود أيضًا أن أوصي بمقاطع فيديو Udi Dahan حول SOA وCQRS والتي قد توفر سياقًا أفضل لتطبيق DDD.

هذا ليس مشروعًا مفتوح المصدر، ولكنه لا يزال مثالًا في الكود: http://www.codeplex.com/dddpds

والمثال مستعمل في الكتاب تصميم يستند إلى مجال .NET باستخدام لغة C#:مشكلة التصميم والحل


مثال مكياج يبدو واعدًا ولكنه ربما مات:http://www.codeplex.com/domaindrivendesign

أخشى ذلك http://www.codeplex.com/domaindrivendesign لقد مات بالفعل، ولكن إذا كان أي شخص مهتم بالمساهمة فلا تتردد في الاتصال بي.

بشكل عام، أوصي بعدم الاعتماد أكثر من اللازم على أمثلة DDD، ففي أفضل الأحوال يمكن أن تظهر الأمثلة نتائج نمذجة المجال و/أو نهج واحد لتنفيذ الأنماط.ولذلك أنصح بقراءة الكتاب ومن ثم طرح الأسئلة في المنتدى.

http://kigg.codeplex.com/ هو مثال جيد بالنسبة لي.

أعلم أنه ليس C#، ولكن هذا هو إطار عمل Java التعريفي الذي يتبع نهجًا يعتمد على المجال:لا أعرف الكثير عنها ولكني على استعداد لدراستها في المستقبل القريب: إطار روما

http://sellandbuy.codeplex.com/

مشروع آخر DDD

القراءة الجيدة هي كتاب جيمي نيلسون (والمدونة الخاصة بهذا الأمر)تطبيق التصميم القائم على المجال

إنه مزيج من كتب إيفانز وفاولر (تصميم يحركه المجال - إيفانز)، و (أنماط بنية تطبيقات المؤسسات - الصياد)

لم أستخدم أيًا منها بنفسي، ولكن هناك بعض الأدوات المذكورة في صفحة DDD Wikipedia.يبدو أن معظمها يتم تنفيذه في Java بالرغم من ذلك.

http://en.wikipedia.org/wiki/Domain-driven_design#Software_tools_to_support_domain-driven_design

حسنًا، لقد وجدت هذا، ولكنه Java وليس C#:
http://timeandmoney.domainlanguage.com/

خادم كود كامب, جيفري باليرمو رمز عينة للكتاب ASP.NET MVC قيد التنفيذ مفتوح المصدر ويستخدم DDD.

(نفس إجابتي في عينات جيدة من التصميم المبني على المجال)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top