首页 > 其他 > 详细

外观模式 Facade

时间:2017-11-05 16:21:55      阅读:240      评论:0      收藏:0      [点我收藏+]

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

什么时候使用:
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);
    }
}

  

 

外观模式 Facade

原文:http://www.cnblogs.com/itfenqing/p/7787654.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!