c# – 数据访问层 – 设计类应该负责创建保存

我正在使用ADO.NET 2.0和C#,sql Server 2005设计数据访问层.我经常与大脑争论放置这些调用的位置.对于可维护的健壮代码,我应遵循以下哪种方式.

方法1

Public Class Company
{

public string CompanyId
{get;set;}

public string CompanyAddress
{get;set;}

public bool Create()
{
}

public bool Update()
{
}

public bool Delete()
{
}

}

方法2

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.从数据源( single responsibility principle)读取/写入不是公司类的责任.但是,我甚至会创建一个ICompanyRepository接口,然后为该接口创建一个CompanyRepository实现.这样,您可以将ICompanyRepository注入需要保存/检索公司信息的类中.它还允许更容易的单元测试以及将来创建不同实现的能力(从数据库切换到xml文件或其他).

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...