此问题可能会被删除,因为它不是stackoverflow喜欢的格式.
BLL处理业务逻辑,例如如何执行特定公式或执行工作流.它通常包含公司希望实施的规则.
数据层通常只从数据库,文件或其他数据源获取数据,并且不对其进行任何进一步修改.通常是业务层将数据加载到某种业务相关的类/对象中.BLL还可以在将数据传递到UI层之前修改数据层中的数据.UI层仅执行简单验证并呈现从BLL获取的数据
例如.
在数据层中
你可以有一个功能
public DataSet GetAllAccounts()
{
DataSet ds;
//Some sql code to read out the sql data using datareader and dataadapter;
return ds;
}
Run Code Online (Sandbox Code Playgroud)
在您可以拥有的业务层中
public List<Account> GetAllAccounts()
{
DataSet ds = DataLayerClass.GetAllAccounts();
return (from Tab1 in ds.Tables[0] select new Account(){AcctNum =Tab1.AcctNum, Name =Tab1.Name}).ToList();
}
Run Code Online (Sandbox Code Playgroud)
如您所见,Account是一个特定于业务的对象,而DataSet是与db相关的东西,并不关心业务或任何业务规则.