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);
        }
    }
    

      

  • 相关阅读:
    JAVA this
    JAVA static关键字
    子类实例化 super
    TCP/IP概述
    Java多态
    植物大战僵尸:寻找阳光掉落Call调用
    JVM总结+个人整理补充--转
    已知微分方程通解求微分方程
    Redis安装过程中的问题
    对称阵和反对称阵
  • 原文地址:https://www.cnblogs.com/itfenqing/p/7787654.html
Copyright © 2011-2022 走看看