zoukankan      html  css  js  c++  java
  • 设计模式3-外观模式

     1 namespace DesignModel.外观模式
     2 {
     3     class OldSystemBLL
     4     {
     5         public IList<object> SortData(IList<Object> data)
     6         {
     7             return data;
     8         }
     9     }
    10     class OldSystemDAL
    11     {
    12         public IList<Object> GetProductData()
    13         {
    14             return new List<object>();
    15         }
    16        
    17     }
    18 
    19     /// <summary>
    20     /// 外观类:将子系统的功能集成在这里,对外统一使用。
    21     /// 迪米特法则(最少知道原则)
    22     /// </summary>
    23     class Facade {
    24 
    25         OldSystemBLL osll;
    26         OldSystemDAL osdal;
    27         public Facade()
    28         {
    29             osll = new OldSystemBLL();
    30             osdal = new OldSystemDAL();
    31         }
    32 
    33         public IList<object> GetSortedProductData()
    34         {
    35             return osll.SortData(osdal.GetProductData());
    36         }
    37     }
    38 }
    39 
    40 static void 外观模式()
    41 {
    42        var f = new Facade();
    43        var list = f.GetSortedProductData();
    44 }
    View Code

    外观模式:为子系统(子业务)定义一个高层类,客户端只需要与这个统一的外观类接口打交道。

    比如三层中在DAL和BLL之上建立统一的接口供其它地方使用。复杂的老系统扩展或者修改情况,新增加外观(处理与具体的交互)与开发新功能,便不会影响到其它系统功能。

    挺简单的一个设计,相信平常就算不知道这个模式也有用到,关键是要有这种思想,而不是死记。

  • 相关阅读:
    主成分分析法
    K-means算法
    高斯混合模型
    data structure test
    八皇后问题求解
    商品管理系统课程设计
    哈佛商学院20部必看电影
    usaco1.1
    Visual Studio 2012 出现关于ActivityLog.xml错误的解决方案
    2012蓝桥杯决赛题
  • 原文地址:https://www.cnblogs.com/liurui/p/5505952.html
Copyright © 2011-2022 走看看