ConstructiCat Logo
CodeBust.
Browse section ▾

تضمين الفئة.

Problem

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

Solution

انقل جميع الميزات من الفئة إلى فئة أخرى.

##Example

قبل
Inline Class - Before
بعد
Inline Class - After

##Why Refactor

  • غالباً ما تكون هذه التقنية مطلوبة بعد "زرع" ميزات فئة واحدة في فئات أخرى، مما يترك تلك الفئة بلا عمل تفعله تقريباً.

##Benefits

  • يؤدي التخلص من الفئات غير الضرورية إلى تحرير ذاكرة التشغيل على الكمبيوتر—ومساحة التفكير في رأسك.

##How to Refactor

  1. في الفئة المستقبلة (recipient class)، أنشئ الحقول والدوال العامة الموجودة في الفئة المانحة (donor class). يجب أن تشير الدوال إلى الدوال المعادلة في الفئة المانحة.

  2. استبدل جميع المراجع إلى الفئة المانحة بمراجع إلى الحقول والدوال في الفئة المستقبلة.

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

  4. احذف الفئة الأصلية.