إخفاء التابع (Hide Method)

من موسوعة حسوب
< Refactoring
مراجعة 08:36، 26 فبراير 2019 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

المشكلة

لا يُستخدم التابع من قِبل الأصناف الأخرى أو يستخدم فقط داخل التسلسل الهرمي للصنف الخاص به.

الحل

جعل التابع خاصًا أو محميًا.

مثال

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

لا يستخدم التابع ()aMethod من قبل أصناف أخرى غير الصنف Employee المعرف فيه:

لا يُستخدم التابع من قِبل الأصناف الأخرى أو يستخدم فقط داخل التسلسل الهرمي للصنف الخاص به.
لا يُستخدم التابع من قِبل الأصناف الأخرى أو يستخدم فقط داخل التسلسل الهرمي للصنف الخاص به.

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

جعل التابع ()aMethod خاصًّا ومحميًّا بإخفائه عن الأصناف الأخرى:

جعل التابع خاصًا أو محميًا.
جعل التابع خاصًا أو محميًا.

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

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

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

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

  • إخفاء التوابع يجعل تطوير الشيفرة البرمجية أسهل. عند تغيير تابع خاص، تحتاج فقط إلى العناية بكيفية عدم كسر الصنف الحالي لأنك تعرف أنه لا يمكن استخدام التابع في أي مكان آخر.
  • بجعل التوابع خاصة، فأنت تؤكد على أهمية الواجهة العامة للصنف وكذلك التوابع التي تظل عامة.

آلية الحل

  1. حاول بانتظام العثور على التوابع التي يمكن جعلها خاصة. يمكن أن يقدم تحليل الشيفرات الثابتة وتغطية اختبار الوحدة الجيدة خطوة كبيرة للأمام.
  2. اجعل كل تابع خاصًا قدر الإمكان.

انظر أيضًا

مصادر