为什么数据存储库不是静态的?
我正在查看 ASP.NET
MVC 应用程序的 repository
方法,并注意到没有使用 static
类。
既然存储库是CRUD
,为什么不将其设为静态
呢?
I was looking at the repository
method for an ASP.NET
MVC app and noticed a static
class wasn't used.
Since the repo is CRUD
, why not make it static
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
1) 使用静态类进行单元测试很困难(如果您正在测试依赖于存储库的类,您希望该测试针对假的“模拟”存储库对象而不是真实的存储库对象)
2) 您经常想要每个请求有 1 个存储库实例,可以更轻松地确保一个用户未提交的更改不会给另一个用户带来麻烦。
1) It's difficult to do unit testing with static classes (if you are testing a class that depends on your repository, you want that test to work against a fake 'mocked' repository object instead of your real one)
2) You often want to have 1 repository instance per-request to make it easier to ensure that uncommited changes from one user don't mess things up for another user.
存储库模式增加了可测试性,静态分类则降低了可测试性。
Repository pattern increase testability, static classed decreases it.