>  기사  >  백엔드 개발  >  PHP设计模式之外观模式

PHP设计模式之外观模式

WBOY
WBOY원래의
2016-06-20 12:28:261032검색

外观模式属于结构型模式

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

外观模式就是让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';

}

}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.