سؤال

حصلت على منتج وجمع دافع. يمكن أن يدفع المدفون ثمن المنتج بثلاث طرق مختلفة، سوى تعيين النسبة المئوية يدويا، من خلال دخل الدافئ أو حسب قيمة الدفائر المقتنيات المعنية.

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

كيف يمكنني تعيين هذا إلى العرض؟ أود الحصول على فئة جديدة متعددة إلى عديدة (والتي ستتألف من إشارة إلى الدافع، إشارة إلى المنتج والمبلغ الدقيق الذي يجب أن يدفعه دايير)؟

أعتقد أن الحساب يجب أن يتم في طبقة الخدمة، ولكن في حالة إرجاع طبقة الخدمة إصدار ViewModel / DTO من المنتج / الدافع مع وجود فئة جديدة متعددة إلى عدة أشخاص، أو يجب التعامل مع هذا بعد ذلك؟ إذا تم التعامل معها بعد ذلك، فيجب أن يحتوي الكيان على قائمة بهذا فئة جديدة متعددة إلى كثيرة، ولكن يتم تجاهلها في طبقة الثبات؟

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

المحلول

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

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

يجعل هذا التصميم استخداما أفضل من مديري OO ويصف المجال أفضل من الطرق التي قد تكون فيها قاعدة البيانات العلائقية. بالإضافة إلى ذلك، قد تكون هذه الكائنات أسهل في التعامل مع الخدمات وطبقات UI كهيكل كائن أصلي يوفر لك بالفعل منطقيا مع الأشياء التي تحتاج إليها. بمعنى آخر. المنتج لديه المدفوعات، التي لديها دافع، إلخ.

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

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