我正在使用ADO.NET 2.0和C#,Sql Server 2005设计数据访问层。我经常为在何处放置这些调用而费心工作。我应该遵循以下哪种方式以获得可维护的健壮代码。

方法1 通用标签

方法2 通用标签

并且我将使用下面的另一个类来进行核心数据访问。像下面一样 通用标签

有帮助吗?

解决方案

使用方法2。从数据源读取/写入不是Company类的责任“单一责任原则” )。但是,我什至会介绍创建一个ICompanyRepository接口,然后为该接口创建CompanyRepository实现。这样,您可以将ICompanyRepository注入到需要保存/检索公司信息的类中。它还使单元测试更加容易,并能够在将来创建不同的实现(从数据库切换到xml文件或其他文件)。

其他提示

如果您遵循关注点分离的原则,则可以使用方法2。

在不同的类中承担不同的职责确实有助于创建可测试,可维护的代码。

这还会产生更小,更具有凝聚力的类,这些类更易于编写,推理和检查正确性。

请注意,您可以使用 ORM 来代替手工设计数据访问层。

我会代表第二选择,因为

  • 首先创建您的基因标记代码
  • 创建您的基因标记代码后

    因此,在这种情况下,您将数据与对其进行操作的功能分离开来,从而使data holder更加容易,并在代码的不同域之间分配职责,并可能进行简单的Bug本地化。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top