تنزيل التابع (Push Down Method).
هل السلوك المطبق في الفئة الفائقة يُسخدم من قِبل فئة فرعية واحدة فقط (أو عدد قليل منها)؟
انقل هذا السلوك إلى الفئات الفرعية.
##Example


##Why Refactor
في البداية، كان الهدف من تابع معين أن يكون عاماً لجميع الفئات، ولكنه في الواقع يُسخدم في فئة فرعية واحدة فقط. يمكن أن يحدث هذا الموقف عندما تفشل الميزات المخطط لها في التحقق.
ويمكن أن تحدث مثل هذه المواقف أيضاً بعد الاستخراج الجزئي (أو الإزالة) للوظائف من التسلسل الهرمي للفئات، مما يترك تابعاً يُسخدم في فئة فرعية واحدة فقط.
إذا رأيت أن التابع مطلوب من قبل أكثر من فئة فرعية واحدة، ولكن ليس جميعها، فقد يكون من المفيد إنشاء فئة فرعية وسيطة ونقل التابع إليها. يسمح هذا بتجنب تكرار الكود الذي قد ينتج عن تنزيل التابع إلى جميع الفئات الفرعية.
##Benefits
- يحسن تماسك الفئات. حيث يقع التابع في المكان الذي تتوقع رؤيته فيه.
##How to Refactor
-
صرح بالتابع في فئة فرعية وانسخ الكود الخاص به من الفئة الفائقة.
-
أزل التابع من الفئة الفائقة.
-
ابحث عن جميع الأماكن التي يُسخدم فيها التابع وتأكد من أنه يُستدعى من الفئة الفرعية المطلوبة.