سؤال

لدينا الكثير من الكائن مع هذا النوع من التصميم: واجهة وعدة تطبيقات، واستخدام العديد من الأشياء عن طريق التكوين. EXEMPLE: FOW ينفذ IFOO ولديك كائن بار الذي يقوم بتنفيذ Ibar Foo يحتوي أيضا على طريقة SetBar (شريط ibar) لحقن DESTANCIE.

سؤالي هو: setter لن يكون في الواجهة؟ (لاختبار، السخرية ... أنا عالق!)

هل كانت مفيدة؟

المحلول

إذا كنت تستخدم تعدد الأشكال، أي استدعاء STERTER على نوع الواجهة، فمن الواضح أنك بحاجة إليها في الواجهة.

نصائح أخرى

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

إما شريط حقن إلى FOO باستخدام حقن SETTER. في سياق حيث لا يمكن أن توجد FOO بدون بار، فستكون أكثر ملاءمة لحقن شريط مع منشئ.

مزيد من القراءة: أنواع حقن التبعية

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top