سؤال

منذ Asp.net 2.0, هناك نموذج مزود.على تفاصيل التنفيذ ، وهو مزود فئة مشتقة من ProviderBase التي هي فئة مجردة بدلا من واجهة, ولكن على أي حال فإن نموذج مزود هناك حتى نتمكن من تنفيذ مختلف لمبادلة في الخارج فقط عن طريق تحرير شبكة الإنترنت.config.على سبيل المثال إذا قمت بإنشاء بلوق التطبيق, قد يكون لديك BlogProvider :ProviderBase, ثم هل يمكن أن يكون تطبيقات BlogProvider مثل:SqlBlogProvider, OracleBlogProvider وحتى MockBlogProvider للاختبار.

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

شخصيا أشعر مزود النموذج هو أكثر طبيعية بالنسبة لي في التنفيذ.هل هناك فرق بين لهم أو أنها مجرد نفس الشيء مع أسماء مختلفة قدمها مختلف المجتمعات ؟

أود أن نقدر أي تعليقات على هذا ، شكرا راي.

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

المحلول

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

  • والغرض من مستودع نمط مجردة تفاصيل مستودع البيانات بعيدا عن التطبيق.

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

على سبيل المثال في التطبيق لدينا ContextFactoryProvider الذي يحتوي على أنواع مختلفة من المنطق لتحديد ContextFactory للاستخدام.لا يوجد مستودع البيانات في هذه الحالة ؛ انها محض تطبيق المنطق الذي يحتاج إلى تغيير تعسفا ؛ مزود نموذج يسمح لنا لاستخدام واحد مبدأ المسؤولية عزل كل نوع من المنطق في فئتها الخاصة ومبادلة خارج هذا المنطق بسهولة.

نصائح أخرى

وأنا لا يمكن أن نتفق مع ريكس M. الغرض من نمط مزود هو توفير الدعم لالتخصيص عبر واجهة المجردة، حيث والغرض من نمط المستودع هو توفير الدعم لملخص تفاصيل undelying قاعدة البيانات.

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