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