ConstructiCat Logo
CodeBust.
Browse section ▾

رفع التابع (Pull Up Method).

Problem

Your subclasses have methods that perform similar work.

Solution

اجعل التوابع متطابقة ثم انقلها إلى الفئة الفائقة المناسبة.

##Example

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

##Why Refactor

Subclasses grew and developed independently of one another, causing identical (or nearly identical) fields and methods.

##Benefits

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

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

##How to Refactor

  1. ابحث عن التوابع المتشابهة في الفئات الفائقة. وإذا لم تكن متطابقة، فقم بصياغتها لتتطابق مع بعضها البعض.

  2. إذا كانت التوابع تستخدم مجموعة معاملات مختلفة، فضع المعاملات بالشكل الذي تريد رؤيته في الفئة الفائقة.

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

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

  5. تحقق من المواقع التي يتم فيها استدعاء التابع. في بعض الأماكن، قد تتمكن من استبدال استخدام الفئة الفرعية بالفئة الفائقة.