设计模式-外观模式
一:外观模式 Facade Pattern:
外部与一个子系统进行通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观
模式定义了一个高层接口,这个接口使得这一接口更加容易使用。
它又称为门面模式,是一种对象结构型模式。
二:外观模式角色
1:Facade: 外观角色
2:SubSystem:子系统角色
三:外观模式结果图
来自 《大话设计模式》
四:实例
<?php class SubSystemOne { public function MethodOne() { echo " 子系统方法一 "; } } class SubSystemTwo { public function MethodTwo() { echo " 子系统方法二 "; } } class SubSystemThree { public function MethodThree() { echo " 子系统方法三 "; } } class SubSystemFour { public function MethodFour() { echo " 子系统方法四 "; } } class Facade { public $subSystemOne; public $subSystemTwo; public $subSystemThree; public $subSystemFour; public function __construct() { $this->subSystemOne = new SubSystemOne(); $this->subSystemTwo = new SubSystemTwo(); $this->subSystemThree = new SubSystemThree(); $this->subSystemFour = new SubSystemFour(); } public function MethodA() { echo "\r\n 方法组 A() ----- \r\n"; $this->subSystemOne->MethodOne(); $this->subSystemTwo->MethodTwo(); $this->subSystemFour->MethodFour(); } public function MethodB() { echo "\r\n 方法组 B() ----- \r\n"; $this->subSystemTwo->MethodTwo(); $this->subSystemThree->MethodThree(); } } $facade = new Facade(); $facade->MethodA(); $facade->MethodB();
== just do it ==