DAO(数据访问对象)是 .NET 中常用的模式吗?我一直使用 DAO 作为提供对我的数据层的访问的一种方式。例如,我可能在 EntityFramework ObjectContext 上有一个薄接口(interface),将我的所有 ObjectSet 公开为 IObjectSet。
然后 DAO 将公开复杂的查询,每个 DAO 都依赖于此接口(interface)。我可能有一个 ProductDAO,它公开了诸如 GetProductsOnSale()
或 GetInfrequenlySoldProducts()
之类的方法。然后我的 Controller 或演示者将使用这些方法,这些方法可能是虚拟的,以允许为单元测试 stub 特定结果。
那么这是 .NET 中常用的习语吗?出于某种原因,我在网上看到的绝大多数使用这种模式的例子都是基于 Java 的。连this question关于 DAO 的最佳实践被标记为 Java 而不是 C#。
使用其他社区的东西并没有错,我只是有点担心我周围的每个人做事的方式都不一样......
最佳答案
它是 .NET 中的常用习惯用法。我用过它,也看到它用在很多地方。
它内置于框架中 - 请参阅 System.Data
命名空间 - 许多类都是专门提供程序(SQL Server、Oracle、MySQL 等...)的基类,并且在基类上执行操作。
但是,您所描述的听起来更像是 Repository Pattern对我来说,不仅仅是使用Data Access Objects .
虽然没有内置到框架中,但也用于许多项目。
关于c# - .NET 中广泛使用 DAO 模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5795278/