1. مبدأ فصل الواجهة (ISP: مبدأ فصل الواجهة)
التعريف: من الأفضل استخدام واجهات متخصصة متعددة بدلاً من استخدام واجهة عامة واحدة. ويمكن القول أيضًا: أنشئ واجهة واحدة، ولا تنشئ واجهة متضخمة.
تعريفان لمزود خدمة الإنترنت:
◇ "لا ينبغي إجبار العملاء على الاعتماد على واجهات لا يستخدمونها"
يجب ألا يعتمد العميل على واجهات لا يحتاج إليها.
◇ "إن تبعية فئة إلى فئة أخرى يجب أن تعتمد على أصغر واجهة ممكنة"
يجب أن يعتمد اعتماد فئة واحدة على فئة أخرى على أصغر واجهة. (من العميل)
الواجهات والأدوار: فهم الواجهة كمجموعة من خصائص جميع الأساليب التي يوفرها الفصل. وبهذه الطريقة، يؤدي تقسيم الواجهات إلى تقسيم الأنواع. لذلك يجب أن تمثل الواجهة دورًا واحدًا فقط، بدلاً من تقديم أدوار متعددة.
تلوث الواجهة: يضيف ما يسمى بتلوث الواجهة مسؤوليات غير ضرورية إلى الواجهة. سيؤدي تلوث الواجهة إلى مشاكل في الصيانة وإعادة الاستخدام. المشكلة الأكثر شيوعًا هي أنه من أجل إعادة استخدام الواجهة الملوثة، فإننا مضطرون إلى تنفيذ وصيانة أساليب غير ضرورية. لذلك يجب علينا فصل برنامج العميل، وفصل برنامج العميل يعني فصل الواجهة.
كيفية تنفيذ واجهات منفصلة:
هناك عمومًا طريقتان لفصل الواجهات:
1) استخدم التفويض لفصل الواجهات. (الانفصال بالتفويض)
ما عليك سوى تفويض الطلب إلى فئة التنفيذ للواجهات الأخرى لإكمال المسؤوليات المطلوبة، وهو نمط المحول (Adapter).
2) استخدم الميراث المتعدد لفصل الواجهات. (الانفصال عن طريق الميراث المتعدد).
تطبق هذه الطريقة واجهات متعددة لإكمال المسؤوليات المطلوبة.
كلتا الطريقتين لهما مزايا وعيوب خاصة بهما، وعادةً ما يجب علينا أن نفكر في الخيار الأخير أولاً، ونختار الخيار الأول إذا كان الأمر يتعلق بتحويل النوع.
هذه المقالة مأخوذة من مدونة CSDN، يرجى الإشارة إلى المصدر عند إعادة الطباعة: http://blog.csdn.net/scelong/archive/2009/12/18/5031030.aspx.
-