تنظيم طرق الإرشاد

كيف تقوم بتنظيم طرق الإضافة؟ إذا كان لدي إضافات لفئة الكائن وفئة السلسلة ، فأنا أجرب لفصل طرق التمديد هذه إلى فئات IE:

public class ObjectExtensions
{
    ...
}

public class StringExtensions
{
    ...
}

هل هذا يجعل الأمر معقدًا جدًا أو هل هذا منطقي؟

0
وأضاف
الآراء: 1

2 إجابة

هناك طريقتان لتنظيم طرق الإضافة التي أستخدمها ،

1) إذا كان الامتداد خاصًا بالمشروع الذي أعمل عليه ، فعندئذ أحتفظ به في نفس المشروع/الجمعية ، ولكن في مساحة الاسم الخاصة به.

2) إذا كان الامتداد من نوع ما حتى أستخدمه أو أستخدمه في مشروعات أخرى أيضًا ، عندئذٍ أفصلها في تجميع مشترك للإضافات.

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

0
وأضاف

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

بشكل عام لدي نوع من "التجميع الأساسي" في الحل الذي يوفر غالبية الوظائف المشتركة (مثل طرق الإضافة). سنسمي هذا التجميع "الإطار" من أجل المناقشة.

داخل مجموعة الإطار ، أحاول تقليد مساحات الأسماء للأشياء التي لها طرق تمديد. على سبيل المثال ، إذا قمت بتوسيع System.Web.HttpApplication ، سيكون لدي مساحة اسم "Framework.Web". فئات مثل "String" و "كائن" ، يجري في مساحة الاسم "النظام" ، ترجمة إلى مساحة اسم "Framework" الجذر في ذلك التجميع.

وأخيرًا ، تتم تسمية التسمية وفقًا للسطور التي حددتها في السؤال - اسم النوع مع "الإضافات" كلاحقة. هذا ينتج التسلسل الهرمي الطبقة مثل هذا:

  • Framework (namespace)
    • Framework.ObjectExtensions (class)
    • Framework.StringExtensions (class)
    • Framework.Web (namespace)
      • Framework.Web.HttpApplicationExtensions (class)

وتتمثل الفائدة في أنه ، من منظور الصيانة ، من السهل جدًا في وقت لاحق البحث عن طرق الإضافة لنوع معين.

0
وأضاف
رائع ، حسنًا ، لقد واجهت هذه الإجابة قبل إنشاء أول فصيلة للإرشاد.
وأضاف المؤلف Sung, مصدر