zoukankan      html  css  js  c++  java
  • 建立ASP.NET三层架构建立的方法

    Web 层

    Web 层为客户端提供对应用程序的访问。这一层是作为 Duwamish.sln 解决方案文件中的 Web 项目实现的。Web 层由 ASP.NET Web 窗体和代码隐藏文件组成。Web 窗体只是用 HTML 提供用户操作,而代码隐藏文件实现各种控件的事件处理。

    业务外观层

    业务外观层为 Web 层提供处理帐户、类别浏览和购书的界面。这一层是作为 Duwamish.sln 解决方案文件中的 BusinessFacade 项目实现的。业务外观层用作隔离层,它将用户界面与各种业务功能的实现隔离开来。除了低级系统和支持功能之外,对数据库服务器的所有调用都是通过此程序集进行的。

    业务规则层

    业务规则层是作为 Duwamish.sln 解决方案文件中的 BusinessRules 项目实现的,它包含各种业务规则和逻辑的实现。业务规则完成如客户帐户和书籍订单的验证这样的任务。

    数据访问层

    数据访问层为业务规则层提供数据服务。这一层是作为 Duwamish.sln 解决方案文件中的 DataAccess 项目实现的。

    代码示例:

    以下是两种不同处理路径的代码示例:

    获取商品目录

    表示层调用业务外观层:

    productSystem = new ProductSystem();

    categorySet = productSystem.GetCategories(categoryID);

    业务外观层直接调用数据层:

    public CategoryData GetCategories(int categoryId)
    {
    if ( dsCommand == null )
    {
    throw new System.ObjectDisposedException( GetType().FullName );
    }
    return FillCategoryData("GetCategories", "@CategoryId", categoryId);
    }

    添加定单

    表示层调用业务外观层:

    public void AddOrder()
    {
    ApplicationAssert.CheckCondition(cartOrderData != null, "Order requires data", ApplicationAssert.LineNumber);
    ApplicationLog.WriteTrace("Duwamish7.Web.Cart.AddOrder:\r\nCustomerId: " +
    cartOrderData.Tables[OrderData.CUSTOMER_TABLE].Rows[0][OrderData.PKID_FIELD].ToString());
    cartOrderData = (new OrderSystem()).AddOrder(cartOrderData);
    }

    业务外观层调用业务规则层:

    public OrderData AddOrder(OrderData order)
    {
    ApplicationAssert.CheckCondition(order != null, "Order is required", ApplicationAssert.LineNumber);

    (new BusinessRules.Order()).InsertOrder(order);
    return order;
    }

    业务规则层调用数据层:

    public bool InsertOrder(OrderData order)
    {
    //此处省略复杂的处理逻辑
    if ( isValid )
    {
    using (DataAccess.Orders ordersDataAccess = new DataAccess.Orders())
    {
    return (ordersDataAccess.InsertOrderDetail(order)) > 0;
    }
    }
    else
    return false;
    }

     


     

  • 相关阅读:
    while练习题
    流程控制之for循环
    流程控制之while循环
    流程控制之if判断
    作业
    基本运算符
    输入输出
    基本数据类型
    变量part2
    JDBC中创建表
  • 原文地址:https://www.cnblogs.com/jiangyuxuan/p/294546.html
Copyright © 2011-2022 走看看