سؤال

أفكر في تنفيذ نهج تصميم مدفوع المجال (مماثلة للواحد الموصوفة هنا)، ولكن تريد دمجها مع العقيدة orm. هل كان لدى أي شخص أي نجاح تفعل أي شيء مثل هذا؟

كانت غريزة الأولية الخاصة بي لاستخدام العقيدة كطبقة DAO، ولكن يبدو أن AA معتمدة من أجل عقيدة لتعيين حقول قاعدة البيانات الخاصة بي، وكائنات كيان لي ل (أساسا) نفس مجموعة الحقول على كائن المبدأ.

كان الهدف الأصلي هو فصل جميع منطق DQL / الاستعلام عن كيانات المجال الخاصة بي، ولكن الآن أشعر أنني ضاعت قليلا في أرض نمط التصميم في الوقت الحالي.

أعرف أن العقيدة 2 من المفترض أن توفر نهجا أكثر صديقة لتقنيات DDD، لكنني لست متأكدا من أنني أريد الانتظار لفترة طويلة. هل ما أريد القيام به منطقي، أم أن أجد نهج آخر؟

شكرا.

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

المحلول

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

أحد الخيارات هو الاستمتاع من العقيدة ويمكن استخدامها كمستودع رجل فقير. على سبيل المثال، إذا كان لديك فئة تسمى "blogpost"، فقد يكون لديك فئة جدول "blogposttable"، والراثة من العقيدة. يمكنك بعد ذلك إضافة طرق مثل "FindByCategory" للفئة BlogpostTable، مع الحفاظ على هذا المنطق منفصلا عن كائنات المجال الخاصة بك (والتي ترثت من Acstrine_record). إنه ليس بالضبط نفس الأنماط التي تدعو إليها "النقي"، لكنها قريبة بما فيه الكفاية.

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

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