نموذج المجال - علاقات المعرفات مقابل علاقات المعرفاتالكائنات الهرمية

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

سؤال

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

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

على الرغم من عدم ارتباطها بشكل مباشر، فإن كائنات المجال هي كائنات POCO بسيطة (أي ما يعادل .NET لـ POJOs).تم وضع علامة عليها بشكل صريح على أنها قابلة للتسلسل، حيث أن هناك فرصة جيدة لتقاطعها في النهاية بين مجالات التطبيق.LINQ يجعل نهج المعرف العلائقي قابلاً للتطبيق، في رأيي، ولن أفكر فيه على الإطلاق إذا لم يكن LINQ متاحًا.

سيكون موضع تقدير أية أفكار!

يحرر:بعض الأفكار الأخرى التي قد تجعلني أميل نحو نهج المعرف فقط.الأول هو أن سياسة التخزين المؤقت للكائنات.من الممكن تمامًا أن يكون للكائن الأصل والكائن التابع فترات TTL مختلفة، كما هو محدد في سياساتهما.والثاني هو أن الاحتفاظ بالمرجع قد يحد من إعادة استخدام الكائن، حيث قد يكون الطفل نفسه محتفظًا به من قبل عدة آباء - في حالة البيانات القابلة لإعادة الاستخدام.ويتعلق كلاهما أيضًا بالحجم الإجمالي للكائنات المتسلسلة أيضًا.

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

المحلول

أنا أستخدم كلاهما في POCOs الخاصة بي.أقوم بإنشائها باستخدام قائمة الأطفال في الفصل الأصلي ومثيل أحد الوالدين في الفصل الفرعي.

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