【发布时间】:2010-10-12 00:09:27
【问题描述】:
从 Asp.net 2.0 开始,就有了提供者模型。在实现细节上,提供者是派生自 ProviderBase 的类,它是一个抽象类而不是接口,但无论如何提供者模型都在那里,因此我们可以通过编辑 web.config 来换入不同的实现。例如,如果您创建一个博客应用程序,您可能有一个 BlogProvider : ProviderBase,那么您可以有 BlogProvider 的实现,例如:SqlBlogProvider、OracleBlogProvider 甚至 MockBlogProvider 用于测试。
现在,Repository Pattern 越来越流行,我觉得也是为了满足同样的需求,虽然在实现细节上,你通常使用接口,所以 IBlogProvider,你会通过构造函数而不是属性注入不同的实现,但是基本上我看不出这两种模式给我们带来了什么不同。
就我个人而言,我觉得 Provider Model 在实现中对我来说更自然。那么,它们之间是否有区别,或者它们只是不同社区赋予不同名称的同一事物?
我会很感激这方面的任何 cmets, 谢谢, 雷。
【问题讨论】:
-
与forums.asp.net/t/…下方接受的答案类似的解释
标签: design-patterns repository-pattern provider-model