指引网

当前位置: 主页 > 编程开发 > .NET >

用LINQtoSQL创建Web应用系统(四)

来源:网络 作者:佚名 点击: 时间:2017-11-17 03:45
[摘要] 构建业务外观层(Business Facade Layer) 所有业务逻辑将在这一层实现。一般而言,这一层负责处理数据和在表现层与数据访问层之间传递数据。这一层从物理上提供上层接口隔离表现层代码和数

        构建业务外观层(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:业务外观层 – 类图

------分隔线----------------------------