当前位置:  开发笔记 > 后端 > 正文

存储库模式是否与Asp.net提供者模型相同?

如何解决《存储库模式是否与Asp.net提供者模型相同?》经验,为你挑选了1个好方法。

从Asp.net 2.0开始,就有Provider Model.在实现细节上,提供者是从ProviderBase派生的类,它是一个抽象类而不是接口,但无论如何,Provider Model都存在,这样我们可以通过编辑web.config来实现不同的实现交换.例如,如果您创建一个博客应用程序,您可能有一个BlogProvider:ProviderBase,那么您可以使用BlogProvider的实现:SqlBlogProvider,OracleBlogProvider甚至MockBlogProvider进行测试.

现在,Repository Pattern越来越受欢迎,我觉得它是为了满足相同的需求,虽然在实现细节中,你通常使用接口,所以IBlogProvider,你通过构造函数而不是属性注入不同的实现,但实际上我不是看看这两种模式给我们的不同之处.

就个人而言,我觉得供应商模型在实施中对我来说更自然.那么,它们之间是否存在差异,或者它们是由不同社区给出的不同名称相同的东西?

我很感激任何评论,谢谢,雷.



1> Rex M..:

存储库和提供者模式重叠,但它们没有正式描述相同的事物.我几乎会说Repository是Provider的子集.在实践中,我认为Repository模式是出于特定需求 - 抽象存储库 - 并在社区中演变为更通用的抽象模式.在这方面,它们已经成为描述相同概念的不同术语.但是,从原始定义来看,它们的范围不同:

存储库模式的目的是从应用程序中抽象出数据存储库的细节.

Provider模型的目的是抽象出远离应用程序的任何细节.这可能是一个数据存储库,但它常常是某种逻辑.

例如,在我们的应用程序中,我们有一个ContextFactoryProvider,它包含用于确定使用哪个ContextFactory的不同类型的逻辑.在这种情况下没有数据存储库; 它是纯粹的应用逻辑,需要随意改变; Provider模型允许我们使用单一责任原则将每种逻辑隔离到自己的类中,并轻松地交换出逻辑.


+1只是为了正确拼写Borne.:-)
推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有