模式定义:外观模式(立面图案):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。模式结构
外观模式的就是让客户客户端以一种简单的方式来调用比较复杂的系统,来完成一件事情子系统:复制代码代码如下:级汽车{公共函数start() { print_r('车子启动');}公共函数check_stop() { print_r('刹车检查正常');}公共函数复选框(){ print_r('检查油箱正常');}公共函数check_console() { print_r('检查仪表盘是否异常');} }//门面模式class car facade {公共功能catgo(car $ carref){ $ carref-check _ stop();$ carref-check _ box();$ carref-check _ console();$ carref-start();} } //客户端可以简单的去调用$car=新车();$ Carobj=新车外观();$ Carobj-catgo($ car);复制代码代码如下:php /** *外观模式示例* * 为子系统中的一组接口提供一个一致的界面,定义一个高层接口,使得这一子系统更加的容易使用*/class subsystem 1 { public function method 1(){ echo ' subsystem 1 method 1 br/';} }类子系统2 {公共函数方法2(){ echo '子系统2方法2 br/';} } class subsystem 3 { public function method 3(){ echo ' subsystem 3 method 3 br/';} }类FaceBook { private $ _ object 1=null;private $ _ object 2=nullprivate $ _ object 3=nullpublic function _ _ construct(){ $ this-_ object 1=new subseytem1();$ this-_ object 2=新子集m2();$ this-_ object 3=new sub ytem 3();}公共函数MethodA(){ echo ' Facade方法AbR/';$ this-_对象1-方法1();$ this-_ object 2-方法2();}公共函数MethodB(){ echo ' Facade method br/';$ this-_ object 2-方法2();$ this-_ object 3-方法3();} } //实例化$ ObjFacade=new Facade();$ ObjFacade-MethodA();$ ObjFacade-MethodB();