【发布时间】:2011-08-13 07:25:26
【问题描述】:
DAO(数据访问对象)是 .NET 中常用的模式吗?我一直使用 DAO 作为提供对我的数据层的访问的一种方式。例如,我的 EntityFramework ObjectContext 上可能有一个薄接口,将我的所有 ObjectSet 暴露为 IObjectSet。
然后 DAO 将公开复杂的查询,每个 DAO 都依赖于该接口。我可能有一个 ProductDAO,它公开了 GetProductsOnSale() 或 GetInfrequenlySoldProducts() 之类的方法。然后,我的控制器或演示者将使用这些方法,这些方法可能是虚拟的,以允许对单元测试的特定结果进行存根。
那么这是 .NET 中常用的习语吗?出于某种原因,我在网上看到的绝大多数使用这种模式的示例都是基于 Java 的。即使是关于 DAO 最佳实践的 this question 也被标记为 Java 而不是 C#。
使用其他社区的东西并没有错,我只是有点担心我周围的每个人都在做不同的事情......
【问题讨论】: