• 设计模式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之上建立统一的接口供其它地方使用。复杂的老系统扩展或者修改情况,新增加外观(处理与具体的交互)与开发新功能,便不会影响到其它系统功能。

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

  • 相关阅读:
    大四实习有点晚[转载]
    .net2.0数据绑定语法
    明天要去南京了
    Master & Content Page Relation(Event Ordering)
    在验证中使用图像和声音(ErrorMessage)
    设置FLash透明
    Basic Skill in .net2.0
    教育研究方法
    程序员是如何捕猎大象的[转]
    My lost card
  • 原文地址:https://www.cnblogs.com/liurui/p/5505952.html
Copyright © 2020-2023  润新知