كيفية منع فئات متعددة لنفس كائن الأعمال؟

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

  •  02-07-2019
  •  | 
  •  

سؤال

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

لمزيد من التوضيح:إذا كان لدي فصل دراسي، فإن متتبع المشكلات والصف الخاص بي لمشكلة ما يحتوي على IxCreatedByUser كخاصية ومجموعة من قيم IxAttachment (فهارس لسجلات المرفقات).عندما أعرض هذا على صفحة ويب، أريد إظهار John Doe بدلاً من IxCreatedByUser وأريد إظهار رابط للمرفق واسم الملف على الصفحة.لذلك عادةً ما أقوم بإنشاء فئة جديدة تحتوي على مجموعة من كائنات المرفقات وخاصية CreatedByUserFullName أو شيء من هذا القبيل.من الخطأ إنشاء هذه الفئة الثانية لعرض البيانات على الصفحة.ربما أكون مخطئا؟

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

المحلول

نمط الواجهة.

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

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

لا تتردد في توضيح الطبيعة الدقيقة للتحدي الذي تواجهه.

نصائح أخرى

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

فيما يلي بعض الإرشادات لمساعدتك في تحديد كيفية التعامل مع هذا النمط (الشائع جدًا، IMO):

  1. إذا كنت تحتاج فقط إلى رابط سريع لجدول بحث لا يتغير كثيرًا (على سبيل المثال،جدول عناوين يرتبط بجدول الولايات و/أو البلدان)، يمكنك الاحتفاظ بنسخة ثابتة من جدول البحث بطيئة التحميل.

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

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