业务逻辑层的使用

Smi*_*eez 3 c# asp.net 3-tier

我知道这可能是一个重复的问题.但我从未找到像我这样的初学者能够理解的正确解释.

我的问题是"我们可以在业务逻辑层内做些什么".我做了3层架构项目.但我只使用BLL在UI和数据层之间传递值.

但每当我参加面试时,他们都会问我在BLL内所做的一切.
请帮助我了解BLL的正确使用方法.
如果可以,请提供一些示例代码.

Jay*_*Jay 9

此问题可能会被删除,因为它不是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相关的东西,并不关心业务或任何业务规则.