متى يجب استخدام المفوضين بدلاً من الواجهات (دليل البرمجة C#)

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

استخدام التفويض في الحالات التالية:

  • ويتم استخدام نمط تصميم eventing.

  • ومن المرغوب فيه تغليف الأسلوب الثابت.

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

  • المطلوب هو التركيب السهل.

  • قد تحتاج فئة التطبيق إلى أكثر من أسلوب.

استخدم الواجهة في الحالات التالية:

  • هناك مجموعة من الأساليب المرتبطة التي قد يتم استدعاءها.

  • الفئة تحتاج لتطبيق أسلوب واحد فقط.

  • الفئة باستخدام الواجهة سوف تحتاج إلى تحويل تلك الواجهة إلى واجهة أخرى أو أنواع فئة .

  • ترتبط الطريقة التي يتم تنفيذها بنوع أو هوية من الفئة: على سبيل المثال، أساليب المقارنة.

مثال جيد من واجهة أسلوب واحد بدلاً من استخدام تفويض يتم IComparable أو الإصدار العام IComparable<T>. IComparable يقوم بتعريف أسلوب CompareTo ، التي تقوم بإرجاع عدد صحيح يحدد أقل من يساوي أو أكبر من العلاقة بين كائنين من نفس النوع. IComparable يمكن استخدامها كأساس خوارزمية الفرز. وعلى الرغم من أن استخدام أسلوب المقارنة بين المندوبين كأساس خوارزمية الفرز سيكون صحيحاً، و لكنها ليست مثالية. نظراً لأن القدرة على المقارنة تنتمي إلى مقارنة الفئة الخوارزمية لا يتغير في وقت التشغيل، فإن واجهة الأسلوب الواحد تعتبر مثالية.

راجع أيضًا:

المرجع

الأحداث (دليل البرمجة لـ #C)

الأساليب (دليل البرمجة لـ #C)

الواجهات (ارشادات البرمجة C#)

المبادئ

دليل البرمجة لـ #C