美文网首页
设计模式の外观模式

设计模式の外观模式

作者: ManyHong | 来源:发表于2016-09-03 12:04 被阅读0次

外观模式用于为复杂系统创建一个简单清晰的接口。

当我们需要使用到子系统的代码时,为了避免过去深入地调用子系统代码而导致后期代码难以维护,减低代码和子系统的耦合性,我们需要在代码和子系统中引入一个入口。实际上就是在子系统代码进行一次封装,那么我们在调用子系统代码的时候就可以通过调用封装的方法来调用,以致于后期修改子系统代码时不会对我们的代码有很大的影响。

下面通过一个例子来简单演示一下外观模式。

假设我们原先有一些方法,用这些方法可以完成向一个好友发送hello,

//寻找目标好友

function searchFriend($name){

echo "寻找目标好友:$name";

}

//打开聊天窗口

function openWindow($name){  

echo "打开$name的聊天窗口";

 };

//发送hello

function sayHello(){

echo "sayhello";

}

当我们每次想要找好友say hello的时候,都要调用这一系列方法,如果后期系统升级或者代码修改,都需要修改我们调用这些代码的地方,如果你的代码已经遍布了子系统代码,那么这样的维护升级的工作量将是巨大的。为了避免这种情况,我们使用外观模式来解决这个问题:

class chatFacade{

private $name;

public function __construct($friend){

$this->name=$friend;

}

public function chat(){

   searchFriend($this->name);

   openWindow($this->name);

   sayHello();

}

}

在使用的时候,现在我们只需:

$obj=new chatFacade('manyhong');

$obj->chat();

为复杂系统创建简单接口的好处是明显的,但是另一方面你可能会过度抽象系统。如果想要使客户端访问代码变得简介或者想把系统中的修改对客户端代码隐藏,使用外观模式吧。

相关文章

  • 设计模式の外观模式

    外观模式用于为复杂系统创建一个简单清晰的接口。 当我们需要使用到子系统的代码时,为了避免过去深入地调用子系统代码而...

  • Android设计模式——外观模式(七大结构型)

    1.外观模式介绍 外观模式(Facade Pattern),是七大结构型设计模式之一。 外观模式运...

  • 设计模式[9]-外观模式-Facade Pattern

    1. 外观模式 外观模式(Facade Pattern),又称为门面模式,是非常常用的结构性设计模式。外观模式使得...

  • java设计模式-外观模式(Facade)

    外观模式,属于结构性模式。属于设计模式里面比较简单的设计模式,本人认为是最简单的设计模式。 所谓外观,就是我们能看...

  • 了解外观模式

    java 设计模式 ------外观模式 Java中一共有23种设计模式,每种设计模式各有特...

  • 设计模式之-4.外观模式

    每看一次设计模式,感觉每一个设计模式看起来是那么简单,对于外观模式我的理解就是外观模式:外观模式,这个名字起得不怎...

  • 设计模式详解——外观模式

    本篇文章介绍一种设计模式——外观模式。本篇文章内容参考《JAVA与模式》之门面模式,外观模式,深入浅出外观模式(二...

  • 外观模式(Facede)

    本文参考自: 《JAVA设计模式》之外观模式(Facade) 1. 作用 外观模式也叫门面模式,门面模式是对象的结...

  • 设计模式---外观模式

    1、外观模式(Facade):也叫门面模式,为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个...

  • 设计模式——外观模式

    阎宏博士的《JAVA与模式》一书中开头是这样描述外观(Facade)模式的:门面模式是对象的结构模式,外部与一个子...

网友评论

      本文标题:设计模式の外观模式

      本文链接:https://www.haomeiwen.com/subject/qqbkettx.html