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文件或其他).

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...