تعريف كائن المُعامل (Introduce Parameter Object)

من موسوعة حسوب
مراجعة 09:48، 5 فبراير 2019 بواسطة Khaled-yassin (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: تعريف كائن المُعامل (Introduce Parameter Object)}}</noinclude> == المشكلة == تحتوي التوابع على نفس...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

المشكلة

تحتوي التوابع على نفس المجموعة المتكررة من المعاملات.

الحل

استبدال هذه المعاملات بكائنٍ واحد.

مثال

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

تحتوي التوابع على نفس المجموعة المتكررة من المعاملات.
تحتوي التوابع على نفس المجموعة المتكررة من المعاملات.

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

استبدال هذه المعاملات بكائنٍ واحد.
استبدال هذه المعاملات بكائنٍ واحد.

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

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

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

  • تصبح الشيفرة أكثر قابلية للقراءة؛ ويصبح كائنٌ واحدٌ له اسم مفهوم بدلًا من خلط المعاملات.
  • تُنشئ المجموعات المتطابقة من المعاملات والمتناثرة هنا وهناك نوعًا خاصًا بها من ازدواجية الشيفرة: في حين لا تُستدعى الشيفرات المتطابقة، تتصادف مجموعات من المعاملات والوسيطات باستمرار.

مساوئ تطبيق الحل

  • إذا نقلت البيانات فقط إلى صنف جديد ولم تخطط لنقل أي سلوكيات أو عمليات ذات الصلة إليه، يبدأ هذا في إحداث اختلال في أصناف البيانات.

آلية الحل

  1. أنشئ صنف جديد يمثل مجموعة المعاملات الخاصة بك. اجعل الصنف غير قابل للتغيير.
  2. استخدم إضافة معامل في التابع الذي تريد إعادة تصميمه، حيث سيُمرر كائن المعامل. في كافة استدعاءات التابع، مرر الكائن الذي أُنشئ من معاملات التابع القديم إلى هذا المعامل.
  3. ابدأ الآن في إزالة المعاملات القديمة من التابع واحدًا تلو الآخر، واستبدالها في الشيفرة بحقول من كائن المعامل. ثم جرب البرنامج بعد استبدال كل معامل.
  4. عند الانتهاء، راجع ما إذا كان هناك أي استفادة من نقل جزء من التابع (أو في بعض الأحيان التابع بأكمله) إلى صنف كائن معامل. إذا كان الأمر كذلك، استخدم نقل التوابع أو  استخراج التوابع.

انظر أيضًا

مصادر