تكوين قالب تابع (Form Template Method)

من موسوعة حسوب
< Refactoring
مراجعة 15:08، 17 فبراير 2019 بواسطة Khaled-yassin (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: تكوين قالب تابع (Form Template Method)}}</noinclude> == المشكلة == تُنفِّذ الأصناف الفرعية خوار...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

المشكلة

تُنفِّذ الأصناف الفرعية خوارزميات تحتوي على خطوات مماثلة في نفس الترتيب.

الحل

نقل بنية الخوارزمية والخطوات المتطابقة إلى الصنف الفائق، وترك تنفيذ الخطوات المختلفة في الأصناف الفرعية.

مثال

قبل إعادة التصميم

تُنفِّذ الأصناف الفرعية خوارزميات تحتوي على خطوات مماثلة في نفس الترتيب.
تُنفِّذ الأصناف الفرعية خوارزميات تحتوي على خطوات مماثلة في نفس الترتيب.

بعد إعادة التصميم

تُنقل بنية الخوارزمية والخطوات المتطابقة إلى الصنف الفائق، ويُترك تنفيذ الخطوات المختلفة في الأصناف الفرعية.
تُنقل بنية الخوارزمية والخطوات المتطابقة إلى الصنف الفائق، ويُترك تنفيذ الخطوات المختلفة في الأصناف الفرعية.

لم إعادة التصميم؟

تتطور الأصناف الفرعية بالتوازي، وأحيانا من قبل أشخاص مختلفين، مما يؤدي إلى تكرار الشيفرة والأخطاء، وصعوبات في صيانة الشيفرة، لأن كل تغيير يجب أن يحدث في جميع الأصناف الفرعية.

فوائد تطبيق الحل

  • تكرار الشيفرة لا يشير دائما إلى حالات بسيطة من النسخ واللصق. غالبًا ما يحدث التكرار في مستوى أعلى، مثل عندما يكون لديك تابع لترتيب الأرقام وتابع لترتيب مجموعات الكائنات التي تُميَّزها فقط عن طريق مقارنة العناصر. يلغي إنشاء قالب تابع هذا التكرار من خلال دمج خطوات الخوارزمية المشتركة في صنف فائق وترك الاختلافات فقط في الأصناف الفرعية.
  • ويمثل إنشاء قالب تابع مثالا على مبدأ المفتوح/المغلق بشكل فعلي. وعندما تظهر نسخة خوارزمية جديدة، تحتاج فقط لإنشاء صنف فرعي جديد؛ ولا يلزم إجراء أي تغييرات على الشيفرة الموجودة.

آلية الحل

  1. قسِّم الخوارزميات في الأصناف الفرعية إلى الأجزاء المكونة لها موصوفةً في توابع منفصلة. يمكن أن يساعد استخراج التوابع في هذا.
  2. يمكن نقل التوابع الناتجة المتطابقة في جميع الأصناف الفرعية إلى صنفٍ فائق باستخدام سحب التابع لأعلى.
  3. يمكن إعطاء التوابع غير المتشابهة أسماء متسقة باستخدام إعادة تسمية التوابع.
  4. انقل توقيعات التوابع غير المتشابهة إلى صنف فائق كأصناف مجردة باستخدام سحب التابع لأعلى. اترك تطبيقاتهم في الأصناف الفرعية.
  5. وأخيرًا، اسحب التابع الرئيسي للخوارزمية لأعلى إلى الصنف الفائق. الآن يجب أن تعمل مع خطوات التابع الموصوف في الصنف الفائق، سواء حقيقي أو مجرد.

انظر أيضًا

مصادر