码迷,mamicode.com
首页 > 其他好文 > 详细

外观模式 Facade

时间:2017-11-05 16:29:17      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:ade   reac   ges   facade   png   com   增加   sha   public   

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

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

标签:ade   reac   ges   facade   png   com   增加   sha   public   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!