ConstructiCat Logo
CodeBust.
Browse section ▾

رفع الحقل (Pull Up Field).

Problem

فئتان تحتويان على نفس الحقل.

Solution

أزل الحقل من الفئات الفرعية وانقله إلى الفئة الفائقة.

##Example

قبل
Pull Up Field - Before
بعد
Pull Up Field - After

##Why Refactor

نمت الفئات الفرعية وتطورت بشكل منفصل، مما أدى إلى ظهور حقول وتوابع متطابقة (أو شبه متطابقة).

##Benefits

  • يزيل تكرار الحقول في الفئات الفرعية.

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

##How to Refactor

  1. تأكد من أن الحقول تُستخدم لنفس الأغراض في الفئات الفرعية.

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

  3. أنشئ حقلاً بنفس الاسم في الفئة الفائقة. لاحظ أنه إذا كانت الحقول خاصة (Private)، فيجب أن يكون حقل الفئة الفائقة محمياً (Protected).

  4. أزل الحقول من الفئات الفرعية.

  5. قد ترغب في النظر في استخدام التغليف الذاتي للحقل (Self Encapsulate Field) للحقل الجديد، من أجل إخفائه خلف توابع الوصول.