简介在教程一中创建的数据访问层(DAL)将数据访问逻辑与表示逻辑清晰地分离开来
然而,尽管DAL从表示层中清晰地分离出数据访问层细节,它却并没有实施任何可能采用的业务规则
例如,我们想让我们的应用程序在Discontinued字段设为1时禁止对Products表的CategoryID或SupplierID字段的修改,还有,我们可能想实施一些资历规则以便禁止发生这样的情况:雇员被其后入职的另一雇员所管理
另一种常见的情形是授权–可能只有处于特定职位的用户可以删除产品或更改UnitPrice值
通过本教程,我们可以了解怎样将业务规则集中到在表示层与DAL之间充当数据交互中介的业务逻辑层(BLL)中
在真实的应用程序中,BLL应作为一个单独的类库项目而实现
然而,为了简化项目结构,在这些教程中,我们以App_Code文件夹下的一系列的类来实现BLL
图1展示了表示层、BLL和DAL之间的结构关系
图1:BLL将表示层与数据访问层分隔开来并且实施业务规则
步骤1:创建BLL类我们的BLL将由四个类组成,分别对应DAL中不同的TableAdapter
每个BLL类都具有一些方法,这些方法可以从DAL中该类对应的TableAdapter中检索、插入、更新或删除数据并应用相应的业务规则
为了更清楚地区分DAL的相关类与BLL的相关类,我们在App_Code文件夹下创建两个子文件夹:DAL和BLL
创建时,只需右健单击SolutionExplorer中的App_Code文件夹并选择NewFolder
创建了这两个文件夹后,将教程一中创建的TypedDataSet移动到DAL子文件夹中
然后,在BLL子文件夹中创建四个BLL类文件
为此,右键单击BLL子文件夹,选择AddaNewItem,然后选择Class模板
将这四个类分别命名为ProductsBLL、CategoriesBLL、Supp