كيف كنت عاملا لديك المجال (النطاقات)، في المجال يحركها التصميم؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

وكيف عامل الخاص المجال (النطاقات)، في تصميم مدفوعة المجال؟

ولقد تم الانتقال إلى المفهوم التالي:

Project.Entity
  Project.Entity.Abstracts
  Project.Entity.Entities
  Project.Entity.Extensions
  Project.Entity.Immutables
  Project.Entity.Interfaces
  Project.Entity.Repositories

وعلى سبيل المثال، لدي كيان في CMS يسمى "المحتوى". لذلك، وأود أن إنشاء مشروع يسمى Project.Content، وعامل الطبقات لتبدو وكأنها:

interface IContent
class Content : IContent

interface IContentRepository
class ContentRepository : IContentRepository

وهذا "المحتوى" نموذج الكيان سيكون له مساحة خاصة بها.

ولكن، أنا وجدت أنه لا مقياس جيد في بيئة المشاريع الكبيرة مع ما يزيد على اثنتي عشرة مشاريع (محاولة 18) من نماذج "الكيان". أنا في نهاية المطاف مع حل مع أكثر من اثني عشر مشروعا، بعضها لا تملك إلا 2 أو 3 فئات (أي UrlRewriter). أيضا، أجد نفسي الرجوع مشاريع أخرى لمجرد واجهات بهم. أشعر هذا poluting نطاقي. بينما المراجع لا الخرسانة، فإنه من الصعب في بعض الأحيان للحفاظ على من المراجع الدائرية.

وهكذا، وأنا يرتد إلى "طبقة" مفهوم في بعض الأحيان ...

وأنا يريد أن يعرف كيف الخبراء DDD الآخرين العوملة تطبيقات حجم المؤسسة. لا تتردد أن يوصي الكتب والمقالات.

ويرجع الفضل في ذلك مسبقا!

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

المحلول

ويعتقد المرء أن أقوم به هو أن أضيف شيئا أن يحدد سياق يحدها إليها.

وفرع فلسطين. للتأكد من أنه من الواضح لماذا، التحقق من كل الروابط على السياق يحدها:    http://dddcommunity.org/discussion/messageboardarchive/BoundedContext.html و <ل أ href = "http://devlicio.us/blogs/casey/archive/2009/02/11/ddd-bounded-contexts.aspx" يختلط = "نوفولو noreferrer"> http://devlicio.us/blogs/casey/ أرشيف / 2009 / 11/02 / DDD-يحدها-contexts.aspx

نصائح أخرى

وأنا similarily لكنت قد وجدت أن وجود حمولة من مشاريع يصبح الألم لإدارتها. لكنني أفضل

Project.Domain
Project.DataAccess
Project.Presentation (presenters and such) 
Project.Gui (in case of a winforms app)

والإعداد.

في طريقة جعل الامور بسيطة تساعد كثيرا عندما تسوء الأمور.

والسؤال هو ماذا تكسب أنت حسنات عند إنشاء مشروع آخر؟ (فمن السهل جدا للقيام بذلك، وتقريبا إلى السهل)

هل تريد من أي وقت مضى لاستخدام هذا المشروع بشكل مستقل أم لا؟ قد ينتهي بك الأمر مع .dlls أدى ذلك إلى جانب لا يمكنك حتى نشرها دون أن يكون بالضبط نفس الإصدارات وما إلى ذلك في هذه الحالة ليس هناك ما يدعو لتقسيمه والتبعثر IDE الخاص بك)

ويمكنك دائما تحريك الأمور إلى مشروع جديد في وقت لاحق إذا دعت الحاجة إلى ذلك، فمن مؤلم إلى حد ما، ولكن بحلول ذلك الوقت سيكون لديك سبب وجيه للقيام بذلك بصرف النظر عن مجرد شعور أن هذه هي الطريقة يتم ذلك.

scroll top