• S2:外观模式 Facade


    为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用.

    什么时候使用:
    1,开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。
    2,维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。
    3,外观模式可以隐藏来自调用对象的复杂性。

    UML:

    示例代码:

    class A
    {
       public function song($songList)
       {
        foreach($songList as $val) {
            echo $val . '.mp3';
        }
       }
    }
     
    class B
    {
       public function song($songList)
       {
        foreach($songList as $val) {
            echo $val . '.wav';
        }
       }
    }
     
    class Facade
    {
        private $a;
        private $b;
     
        public function create()
        {
        $this->a = new A();
        $this->B = new B();
        }
     
        public function method($songList)
        {
        $this->a->song($songList);
        $this->b->song($songList);
        }
    }
    

      

  • 相关阅读:
    python笔记目录
    Django 的View(视图)系统
    051_Bootstrap 框架
    050_jQuery 事件
    049_jQuery 操作标签
    048_jQuery
    016-递归函数
    047_BOM_DOM
    046_JS
    045_CSS
  • 原文地址:https://www.cnblogs.com/itfenqing/p/7787654.html
Copyright © 2020-2023  润新知