当前位置:Gxlcms > PHP教程 > PHP设计模式之外观模式

PHP设计模式之外观模式

时间:2021-07-01 10:21:17 帮助过:20人阅读

外观模式属于结构型模式

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

外观模式就是让client客户端以一种简单的方式来调用比较复杂的系统来完成一件事情;

目的:

1. 为一个复杂子系统提供简单的接口

2. 减少客户端和子系统的耦合

个人举例:

1 购买手抓饼

namespace haibao\design\web\view\design;

use haibao\design\web\common\design\adapter\Translator;

class Facade extends \haibao\design\web\view\Base{

protected function preRender(){

header("Content-type: text/html; charset=utf-8");

$facade = new \haibao\design\web\common\design\facade\Facade();

$facade->facade1();

echo '


';

$facade->facade2();

}

}

/**

* 老板娘 手抓饼

*/

namespace haibao\design\web\common\design\facade;

class Facade{

public $object1;

public $object2;

public $object3;

public function __construct(){

$this->object1 = new SubSystem1;// 饼

$this->object2 = new SubSystem2; // 刷将

$this->object3 = new SubSystem3; // 加个肠

}

public function facade1(){

$this->object1->getMessage();

$this->object2->getMessage();

}

public function facade2(){

$this->object2->getMessage();

$this->object3->getMessage();

}

}

/**

* 子类

*/

namespace haibao\design\web\common\design\facade;

class SubSystem1{

public function getMessage(){

echo '子系统1';

}

}

/**

* 子类

*/

namespace haibao\design\web\common\design\facade;

class SubSystem2{

public function getMessage(){

echo '子系统2';

}

}

/**

* 子类

*/

namespace haibao\design\web\common\design\facade;

class SubSystem3{

public function getMessage(){

echo '子系统3';

}

}

人气教程排行