gpt4 book ai didi

c# - 数据访问层 - 设计类应该在哪里创建保存的责任

转载 作者:太空狗 更新时间:2023-10-29 21:14:07 26 4
gpt4 key购买 nike

我正在使用 ADO.NET 2.0 和 C#、Sql Server 2005 设计数据访问层。我经常为在哪里放置这些调用而绞尽脑汁。 对于可维护的健壮代码,我应该遵循以下哪种方式。

方法一

Public Class Company
{

public string CompanyId
{get;set;}

public string CompanyAddress
{get;set;}

public bool Create()
{
}

public bool Update()
{
}

public bool Delete()
{
}

}

方法二

Public Class Company
{

public string CompanyId
{get;set;}

public string CompanyAddress
{get;set;}
}

我会使用下面的另一个类来进行核心数据访问。如下图

Public Class CompanyRepository
{

public Company CreateCompany(string companyId,string companyDescription)
{
}

public bool UpdateCompany(Company updateCompany)
{
}

public bool DeleteCompany(string companyId)
{
}

public List<Company> FindById(string id)
{
}


}

最佳答案

使用方法 2。从数据源读取/写入不是 Company 类的责任 ( single responsibility principle )。但是,我什至会创建一个 ICompanyRepository 接口(interface),然后为该接口(interface)创建一个 CompanyRepository 实现。这样您就可以将 ICompanyRepository 注入(inject)到需要保存/检索公司信息的类中。它还允许更轻松的单元测试和在未来创建不同实现的能力(从数据库切换到 xml 文件或其他)。

关于c# - 数据访问层 - 设计类应该在哪里创建保存的责任,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8870031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com