zoukankan      html  css  js  c++  java
  • 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);
        }
    }
    

      

  • 相关阅读:
    js项目练习第二课
    js项目练习第一课
    进度条
    js基础
    反射
    递归函数与三级菜单
    mybatis 动态SQL
    java 面对对象(抽象 继承 接口 多态)
    java Eclipse debug技巧
    mybatis 调用存储过程
  • 原文地址:https://www.cnblogs.com/itfenqing/p/7787654.html
Copyright © 2011-2022 走看看