介绍
为子系统的一组接口提供一个一致的对外接口,隐藏系统的复杂性。
何时使用:定义系统的入口
优点:
- 减少系统依赖;
- 提高灵活性和安全性。
缺点:
不符合开闭原则,修改比较麻烦。
代码实现:
<?php
class Run{
function sportRun(){
echo 'run<br>';
}
}
class Walk{
function sportWalk(){
echo 'walk<br>';
}
}
class Facade{
private $run;
private $walk;
function __construct(){
$this->run = new Run();
$this->walk = new Walk();
}
function facadeRun(){
$this->run->sportRun();
}
function facadeWalk(){
$this->walk->sportWalk();
}
}
$facade = new Facade;
$facade->facadeRun();
$facade->facadeWalk();