3

我正在.NET 中开发一个事务应用程序,并希望获得一些关于如何正确封装数据库访问的意见,以便:

  • 我没有到处都有连接字符串
  • 从不同的函数多次调用同一个存储过程
  • 或更糟糕的是,单个列不同的多个存储过程

我很想知道使用像 NHibernate 这样的 ORM 是否有用,因为它可能只会为快速变化的数据模型增加另一层复杂性,并且需要在紧凑的时间内生成工件。

我对 ORM 包以外的方法或模式更感兴趣。

4

4 回答 4

1

至少有两种被广泛接受的设计模式用于封装数据访问:

  • 存储库 (DDD)
  • DAO(数据访问对象)

为了完整起见,我建议您阅读以下书籍:

于 2009-06-01T19:06:57.613 回答
1

如果看起来这是一个重要的项目,而 DAL 是一个主要的风险因素,请让以前做过的人参与进来。你说得对,在没有扎实经验的情况下第一次尝试做对,有太多的方法会偏离轨道。

有许多模式可以实现这一点,但我会寻找那些拥有一套简单的、定义明确的模式的人,他们完全可以接受。

于 2009-06-01T19:11:07.357 回答
1

如上所述,检查存储库和工作单元模式。强烈推荐福勒和埃文斯的书。karl seguin 的读者也是如此,它给了我对刚刚提到的书籍的更酷的介绍。在http://codebetter.com/blogs/karlseguin/archive/2008/06/24/foundations-of-programming-ebook.aspx获取它

于 2009-06-01T20:53:53.500 回答
-1

作为 Java 开发人员,我建议阅读 jdbc 模板,尽管它不是 .NET,但您可以了解 Spring 框架如何封装数据访问层并获得一些想法。

于 2009-06-01T21:02:33.433 回答