ConstructiCat Logo
CodeBust.
Browse section ▾

تنزيل الحقل (Push Down Field).

Problem

هل يُستخدم الحقل في عدد قليل فقط من الفئات الفرعية؟

Solution

انقل الحقل إلى هذه الفئات الفرعية.

##Example

قبل
Push Down Field - Before
بعد
Push Down Field - After

##Why Refactor

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

ويمكن أن يحدث هذا أيضاً بسبب استخراج (أو إزالة) جزء من وظائف التسلسلات الهرمية للفئات.

##Benefits

  • يحسن التماسك الداخلي للفئة. حيث يقع الحقل في المكان الذي يُستخدم فيه بالفعل.

  • عند النقل إلى عدة فئات فرعية في نفس الوقت، يمكنك تطوير الحقول بشكل مستقل عن بعضها البعض. هذا يؤدي إلى تكرار الكود، نعم، لذا قم بتنزيل الحقول فقط عندما تنوي حقاً استخدامها بطرق مختلفة.

##How to Refactor

  1. صرح بالحقل في جميع الفئات الفرعية اللازمة.

  2. أزل الحقل من الفئة الفائقة.