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

بعد

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