Dee*_*ons 6 c# data-access-layer responsibility
我正在使用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()
{
}
}
Run Code Online (Sandbox Code Playgroud)
Public Class Company
{
public string CompanyId
{get;set;}
public string CompanyAddress
{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我会使用下面的另一个类来进行核心数据访问.如下
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)
{
}
}
Run Code Online (Sandbox Code Playgroud)
使用方法2. 从数据源读取/写入不是公司类的责任(单一责任原则).但是,我甚至会创建一个ICompanyRepository接口,然后CompanyRepository为接口创建一个实现.这样,您可以将ICompanyRepository注入需要保存/检索公司信息的类中.它还允许更容易的单元测试以及将来创建不同实现的能力(从数据库切换到xml文件或其他).
| 归档时间: |
|
| 查看次数: |
1390 次 |
| 最近记录: |