构建业务外观层(Business Facade Layer)
所有业务逻辑将在这一层实现。一般而言,这一层负责处理数据和在表现层与数据访问层之间传递数据。这一层从物理上提供上层接口隔离表现层代码和数据访问层代码,ASP.NET页面不能直接与数据访问层交互。相反,页面应该调用业务外观层的方法。图3.1 展示了业务外观层的详细视图。
图3.1:业务外观层-详细视图
在我们的示例程序中,业务外观层仅仅包含一个组件-BFLCustomer。示例代码如下:
代码片段1.2:业务外观层
using System; using System.Collections.Generic; using System.Linq; using System.Text; using DataAccess; using System.Data.Linq; using DataLinq; namespace BusinessFacade { public class BFLCustomer { private DALCustomer objDataAccess = new DALCustomer(); public Table<Customer> SelectRecordAll() { return objDataAccess.SelectRecordAll(); } public Customer SelectRecordByID(string customerID) { return objDataAccess.SelectRecordByID(customerID); } public List<Customer> SelectRecordByIDListable(string customerID) { return objDataAccess.SelectRecordByIDListable(customerID); } public string InsertRecord(Customer localTable) { return objDataAccess.InsertRecord(localTable); } public void UpdateRecord(Customer localTable) { objDataAccess.UpdateRecord(localTable); } public void DeleteRecord(string customerID) { objDataAccess.DeleteRecord(customerID); } public Table<Order> SelectAllOrder() { return objDataAccess.SelectAllOrder(); } public Table<Order_Detail> SelectAllOrderDetail() { return objDataAccess.SelectAllOrderDetail(); } } } |
BFLCustomer 组件包括下面类图所示的公共方法列表,这些方法用来与数据访问层交换。
注:业务外观层没有创建DataContext类的实例,因此它不能够实现任何数据访问逻辑。
BFLCustomer 组件的类图如下:
图3.2:业务外观层 – 类图
|