الفرق بين المراجعتين لصفحة: «Refactoring/pull up field»
Khaled-yassin (نقاش | مساهمات) طلا ملخص تعديل |
Khaled-yassin (نقاش | مساهمات) |
||
سطر 9: | سطر 9: | ||
==== قبل إعادة التصميم ==== | ==== قبل إعادة التصميم ==== | ||
[[ملف:Pull Up Field - Before.png| | [[ملف:Pull Up Field - Before.png|alt=يحتوي الصنفان Soldier و Tank على نفس الحقل health.|بدون|تصغير|يحتوي الصنفان Soldier و Tank على نفس الحقل health.]] | ||
==== بعد إعادة التصميم ==== | ==== بعد إعادة التصميم ==== |
مراجعة 09:55، 17 فبراير 2019
المشكلة
يحتوي صنفان على نفس الحقل.
الحل
إزالة الحقل من الأصناف الفرعية ونقله إلى الصنف الفائق.
مثال
قبل إعادة التصميم
بعد إعادة التصميم
لم إعادة التصميم؟
تنمو الأصناف الفرعية وتتطور بشكل منفصل، مما يتسبب في ظهور حقول وتوابع متطابقة (أو شبه متطابقة).
فوائد تطبيق الحل
- إزالة تكرار الحقول في الأصناف الفرعية.
- تسهيل النقل المتتابع للتوابع المتكررة إذا كانت موجودة من الأصناف الفرعية إلى الصنف الفائق.
آلية الحل
- تأكد من أن الحقول تُستخدَم لنفس الاحتياجات في الأصناف الفرعية.
- إذا كان للحقول أسماء مختلفة، أعطهم نفس الاسم واستبدل كل المراجع إلى الحقول في الشيفرة الحالية.
- أنشئ حقل من نفس الاسم في الصنف الفائق. لاحظ أنه إذا كانت الحقول خاصة، فأنه يجب حماية حقل الصنف الفائق.
- أزل الحقول من الأصناف الفرعية.
- قد ترغب في أخذ التغليف الداخلي للحقول في الاعتبار بالنسبة للحقل الجديد، من أجل إخفائه خلف توابع الوصول.
انظر أيضًا
- دفع الحقل لأسفل (Push Down Field).
- سحب التابع لأعلى (Pull Up Method).
- الشيفرة المكررة (Duplicate Code).