سحب الحقل لأعلى (Pull Up Field)
اذهب إلى التنقل
اذهب إلى البحث
المشكلة
يحتوي صنفان على نفس الحقل.
الحل
إزالة الحقل من الأصناف الفرعية ونقله إلى الصنف الأعلى.
مثال
قبل إعادة التصميم
يحتوي الصنفان Tank
و Soldier
المتفرعان من الصنف Unit
على الحقل المشترك health
:
بعد إعادة التصميم
إزالة الحقل health
من الأصناف الفرعية (الصنف Soldier
والصنف Tank
) ونقله إلى الصنف Unit
الأب:
لم إعادة التصميم؟
تنمو الأصناف الفرعية وتتطور بشكل منفصل، مما يتسبب في ظهور حقول وتوابع متطابقة (أو شبه متطابقة).
فوائد تطبيق الحل
- إزالة تكرار الحقول في الأصناف الفرعية.
- تسهيل النقل المتتابع للتوابع المتكررة إذا كانت موجودة في الأصناف الفرعية إلى الصنف الفائق.
آلية الحل
- تأكد من أن الحقول تُستخدَم لنفس الاحتياجات في الأصناف الفرعية.
- إذا كان للحقول أسماء مختلفة، أعطها نفس الاسم واستبدل كل المراجع إلى الحقول في الشيفرة الحالية.
- أنشئ حقلًا من نفس الاسم في الصنف الأعلى. لاحظ أنه إذا كانت الحقول خاصة، فيجب حماية حقل الصنف الأعلى.
- أزل الحقول من الأصناف الفرعية.
- قد ترغب في أخذ التغليف الداخلي للحقول في الاعتبار بالنسبة للحقل الجديد، من أجل إخفائه خلف توابع الوصول.
انظر أيضًا
- دفع الحقل لأسفل (Push Down Field).
- سحب التابع لأعلى (Pull Up Method).
- الشيفرة المكررة (Duplicate Code).