设计模式之门面模式 浏览次数:222 日期:2020-08-03 12:47:00 ### 定义 什么是门面模式呢?我们先举个例子,我们装修房子的时候一般都是找一个装修公司,然后告诉他们自己的装修要求,然后装修公司打包一切工作帮我们装修。而有的人也会选择自己找人装修,那就费劲了,需要自己去买地板,买水泥,买涂料,买木料等一切需要的材料,很繁琐。在这个例子中,装修公司实际就是个门面角色,我们提装修的要求,跟装修公司联系就好了,我们不需要对接其它细节工作,至于装修公司怎么装修,怎么买水泥等材料我们不关心。 再举个例子,晚上要睡觉了,要关掉空调,电灯,电视各种电器,我们要找到各个电器的按钮去一个一个关闭掉,如果有一个总按钮,我们摁一下所有电器都关闭了,这是不是很方便呢。这个总按钮其实就是一个门面,内部处理去关闭各个电器。 门面模式提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口,使子系统更容易使用,最终实现化零为整。 ### 代码 ```php tv = new TV; $this->light = new Light; $this->computer = new Computer; } public function open() { $this->tv->on(); $this->light->open(); $this->computer->turnOn(); } public function close() { $this->tv->off(); $this->light->close(); $this->computer->turnOff(); } } $facade = new Facade; $facade->open(); $facade->close(); ``` 最后更新时间为: 4个月前 (2020-08-03 12:47:00)