外观模式
为子系统中的接口提供一个一致的界面,此模式定义了一个高层接口,这接口是得子系统更容易调用。
子系统类:
class SubSystemA {
public function methodA()
{
echo 'My is A'.'<br>';
}
}
class SubSystemB {
public function methodB()
{
echo 'My is B'.'<br>';
}
}
class SubSystemC {
public function methodC()
{
echo 'My is C'.'<br>';
}
}
外观类(Facade.php
):
class Facade {
protected $a = null;
protected $b = null;
protected $c = null;
public function __construct()
{
$this->a = new SubSystemA();
$this->b = new SubSystemB();
$this->c = new SubSystemC();
}
public function useMethodTest()
{
$this->a->methodA();
$this->b->methodB();
}
public function useMethodTestA()
{
$this->c->methodC();
}
}
客户端代码:
$facade = new Facade();
$facade->useMethodTest();
$facade->useMethodTestA();
结果:
My is A
My is B
My is C
使用外观模式可以很大程度的降低类与类之间的依赖。