我花了很多时间寻找使用EF4.1或其他ORM设计ASP.NET MVC 3网站的最佳实践。我找到了这个关于在ASP.NET MVC应用程序中实现存储库和工作模式单元的教程。这是一个很好的教程,我学到了一些东西。所以这让我思考,想从堆里的人那里知道这是你会用的东西吗?如果不是,为什么以及你是如何设计你的网站的?我只想学习正确的做事方法,明白为什么一种方法比另一种更好。
发布于 2012-01-19 05:23:47
首先,实体框架实现了一个仓库模式和一个工作单元模式。在类似于实体框架的现代ORM之上实现存储库和工作模式单元是一个额外的抽象层,它:
这种实现的目的之一是将查询逻辑封装在存储库中,而不是像单一责任原则(SRP)这样的查询,而是几个查询,从而违反了查询逻辑。您可以做的是依赖于ORM,并将广泛的查询逻辑封装在单个查询类中。
我的建议不是通过在抽象层上添加抽象层来满足“最佳实践”,而是尝试使用一些更通用的设计准则(如实心 )来解决问题。
Ayende在一系列博客文章(这里、这里、这里、这里、这里、这里、这里和这里)中回顾了Northwind应用程序,这些文章涉及应用程序中所谓的最佳实践。这是一个伟大的阅读!
https://stackoverflow.com/questions/8921246
复制相似问题