外观模式是指通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。
优点
1、它对客户屏蔽了子系统组件,因而减少了客户处理的对象的数目并使得子系统使用起来更加方便
2、实现了子系统与客户之间的松耦合关系
3、如果应用需要,它并不限制它们使用子系统类。因此可以在系统易用性与能用性之间加以选择
适用场景
1、为一些复杂的子系统提供一组接口
2、提高子系统的独立性
3、在层次化结构中,可以使用门面模式定义系统的每一层的接口
代码如下 :
<?phpclass webSet{public function start(){echo "开启网站....";}public function close(){echo "关闭网站....";}}class blogSet{public function start(){echo "开启博客...";}public function close(){echo "关闭博客...";}}class face{ // 外观类,相当于捷径public $web;public $blog;public function __construct(){$this->web=new webSet();$this->blog=new blogSet();}public function start(){$this->web->start();$this->blog->start();}public function close(){$this->web->close();$this->blog->close();}}$a=new face();$a->start();$a->close();
