[精选]创建业务逻辑层步骤

上传人:庄** 文档编号:173203028 上传时间:2021-03-12 格式:DOCX 页数:16 大小:28.93KB
返回 下载 相关 举报
[精选]创建业务逻辑层步骤_第1页
第1页 / 共16页
[精选]创建业务逻辑层步骤_第2页
第2页 / 共16页
[精选]创建业务逻辑层步骤_第3页
第3页 / 共16页
[精选]创建业务逻辑层步骤_第4页
第4页 / 共16页
[精选]创建业务逻辑层步骤_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《[精选]创建业务逻辑层步骤》由会员分享,可在线阅读,更多相关《[精选]创建业务逻辑层步骤(16页珍藏版)》请在金锄头文库上搜索。

1、n更多企业学院: 中小企业管理全能版183套讲座+89700份资料总经理、高层管理49套讲座+16388份资料中层管理学院46套讲座+6020份资料国学智慧、易经46套讲座人力资源学院56套讲座+27123份资料各阶段员工培训学院77套讲座+ 324份资料员工管理企业学院67套讲座+ 8720份资料工厂生产管理学院52套讲座+ 13920份资料财务管理学院53套讲座+ 17945份资料销售经理学院56套讲座+ 14350份资料销售人员培训学院72套讲座+ 4879份资料简介在教程一中创建的数据访问层 (DAL) 将数据访问逻辑与表示逻辑清晰地分离开来。然而,尽管 DAL 从表示层中清晰地分离出

2、数据访问层细节,它却并没有实施任何可能采用的业务规则。例如,我们想让我们的应用程序在 Discontinued 字段设为 1 时禁止对 Products 表的 CategoryID 或 SupplierID 字段的修改,还有,我们可能想实施一些资历规则以便禁止发生这样的情况:雇员被其后入职的另一雇员所管理。另一种常见的情形是授权 可能只有处于特定职位的用户可以删除产品或更改 UnitPrice 值。通过本教程,我们可以了解怎样将业务规则集中到在表示层与DAL 之间充当数据交互中介的业务逻辑层 (BLL) 中。在真实的应用程序中,BLL 应作为一个单独的类库项目而实现。然而,为了简化项目结构,在

3、这些教程中,我们以 App_Code 文件夹下的一系列的类来实现 BLL 。图 1 展示了表示层、BLL 和 DAL 之间的结构关系。图1 :BLL 将表示层与数据访问层分隔开来并且实施业务规则。步骤1 :创建 BLL 类我们的BLL 将由四个类组成,分别对应 DAL 中不同的 TableAdapter 。每个 BLL 类都具有一些方法,这些方法可以从 DAL 中该类对应的 TableAdapter 中检索、插入、更新或删除数据并应用相应的业务规则。为了更清楚地区分 DAL 的相关类与 BLL 的相关类,我们在 App_Code 文件夹下创建两个子文件夹:DAL 和 BLL 。创建时,只需右健

4、单击 Solution Explorer 中的 App_Code 文件夹并选择 New Folder 。创建了这两个文件夹后,将教程一中创建的 Typed DataSet 移动到 DAL 子文件夹中。然后,在BLL 子文件夹中创建四个 BLL 类文件。为此,右键单击 BLL 子文件夹,选择 Add a New Item ,然后选择 Class 模板。将这四个类分别命名为 ProductsBLL 、 CategoriesBLL 、 SuppliersBLL 和 EmployeesBLL 。图2 :在App_Code 文件夹中添加四个新类接下来让我们在每个类中添加一些方法,这些方法只是简单地封装教

5、程一中为TableAdapters 定义的方法。目前,这些方法只是对 DAL 中内容的直接调用,稍后我们会返回到这些方法中来添加任何所需的业务逻辑。注意:如果您当前使用的是Visual Studio Standard Edition 或以上版本 ( 即,当前使用的不是Visual Web Developer ),您可以使用以可视的方式随意设计自己的类。有关 Visual Studio 中该新特性的详细信息,请参见。对于ProductsBLL 类,总共需要添加七个方法 : GetProducts() 返回所有产品。 GetProductByProductID(productID) 返回具有指定产

6、品 ID 的产品。 GetProductsByCategoryID(categoryID) 返回指定 种类 中的所有产品。 GetProductsBySupplier(supplierID) 返回来自指定供应商的所有产品。 AddProduct(productName, supplierID, categoryID, quantityPerUnit, unitPrice, unitsInStock, unitsOnOrder, reorderLevel, discontinued) 通过传入值将一个新产品插入到数据库中 ; 返回新插入记录的 ProductID 值。 UpdateProduct

7、(productName, supplierID, categoryID, quantityPerUnit, unitPrice, unitsInStock, unitsOnOrder, reorderLevel, discontinued, productID) 通过传入值更新数据库中的一个现有产品 ; 如果正好更新了一行则返回 true , 否则返回 false 。 DeleteProduct(productID) 从数据库中删除指定产品。ProductsBLL.csusing System;using System.Data;using System.Configuration;usin

8、g System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using NorthwindTableAdapters;System.ComponentModel.DataObjectpublic class ProductsBLL private ProductsTableAdapter _productsAdapter = n

9、ull; protected ProductsTableAdapter Adapter get if (_productsAdapter = null) _productsAdapter = new ProductsTableAdapter(); return _productsAdapter; System.ComponentModel.DataObjectMethodAttribute (System.ComponentModel.DataObjectMethodType.Select, true) public Northwind.ProductsDataTable GetProduct

10、s() return Adapter.GetProducts(); System.ComponentModel.DataObjectMethodAttribute (System.ComponentModel.DataObjectMethodType.Select, false) public Northwind.ProductsDataTable GetProductByProductID(int productID) return Adapter.GetProductByProductID(productID); System.ComponentModel.DataObjectMethod

11、Attribute (System.ComponentModel.DataObjectMethodType.Select, false) public Northwind.ProductsDataTable GetProductsByCategoryID(int categoryID) return Adapter.GetProductsByCategoryID(categoryID); System.ComponentModel.DataObjectMethodAttribute (System.ComponentModel.DataObjectMethodType.Select, fals

12、e) public Northwind.ProductsDataTable GetProductsBySupplierID(int supplierID) return Adapter.GetProductsBySupplierID(supplierID); System.ComponentModel.DataObjectMethodAttribute (System.ComponentModel.DataObjectMethodType.Insert, true) public bool AddProduct(string productName, int? supplierID, int?

13、 categoryID, string quantityPerUnit, decimal? unitPrice, short? unitsInStock, short? unitsOnOrder, short? reorderLevel, bool discontinued) / Create a new ProductRow instance Northwind.ProductsDataTable products = new Northwind.ProductsDataTable(); Northwind.ProductsRow product = products.NewProducts

14、Row(); product.ProductName = productName; if (supplierID = null) product.SetSupplierIDNull(); else product.SupplierID = supplierID.Value; if (categoryID = null) product.SetCategoryIDNull(); else product.CategoryID = categoryID.Value; if (quantityPerUnit = null) product.SetQuantityPerUnitNull(); else product.QuantityPerUnit = quantityPerUnit; if (unitPrice = null) product.SetUnitPriceNull(); else product.UnitPrice = unitPrice.Value;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号