重庆玖玺国际做网站网站建设公司net2006
news/
2025/9/23 22:09:14/
文章来源:
重庆玖玺国际做网站,网站建设公司net2006,什么是网站的二级目录,丹东seo优化效果费用该模式属于结构型模式什么是门面模式#xff1f;定义#xff1a;门面模式(有时候也称为外观模式)是指提供一个统一的接口去访问多个子系统的多个不同的接口#xff0c;它为子系统中的一组接口提供一个统一的高层接口。外部与子系统的通信是通过一个门面(Facade)对象进行。其…该模式属于结构型模式什么是门面模式定义门面模式(有时候也称为外观模式)是指提供一个统一的接口去访问多个子系统的多个不同的接口它为子系统中的一组接口提供一个统一的高层接口。外部与子系统的通信是通过一个门面(Facade)对象进行。其实门面模式就是把几个子系统(实例或者类.统一一个统一的接口进行执行,客户端不用关注子系统,只用门面即可)通俗的来说将多个接口封装为一个接口比如调用A()方法实则A()方法内部进行了多次不同程度的封装我们不需要关心A()方法内部的封装有多复杂只需要调用A()方法来实现我们的目的即可。话不多说上demo代码//门面模式模拟打开以及关闭照相机为例//两步打开闪光灯、打开照相机// 关闭闪光灯、关闭照相机//闪光灯类class Light{public function turnOn(){echo 打开闪光灯;}public function turnOff(){echo 关闭闪光灯;}}//照相机类class Camera{public function active(){echo 打开照相机;}public function deactive(){echo 关闭照相机;}}//按照传统模式来实现照相 代码肯定是如下这么写的/*$light new Light();$camera new Camera();$light-turnOn(); //打开闪光灯$camera-active(); //开始照相*///以上这种方式不好因为用户需要调用2个接口才能完成工作,那我们能不能只让用户调用1一个接口就可以完成这个工作呢/*********伟大的分割线之门面(Facade)模式登场************///创建一个门面类class Facade{protected $light;protected $camera;public function __construct(){$this-light new Light();$this-camera new Camera();}//照相的方法public function start(){$this-light-turnOn();$this-camera-active();}//关闭照相public function stop(){$this-light-turnOff();$this-camera-deactive();}}//测试$facade new Facade();$facade-start(); //开始照相echo ;$facade-stop(); //关闭照相/***经过上面的门面模式这种方式的改造我们再去照相的时候对于用户对于客户端来说使用的时候就非常方便了*开始照相只需要调用一个start方法,关闭照相只需要调用一个stop方法*/优点1、它对客户屏蔽了子系统组件因而减少了客户处理的对象的数目并使得子系统使用起来更加方便。2、实现了子系统与客户之间的松耦合关系。3、如果应用需要它并不限制它们使用子系统类。因此可以在系统易用性与能用性之间加以选择。适用场景1、为一些复杂的子系统提供一组接口。2、提高子系统的独立性。3、在层次化结构中可以使用门面模式定义系统的每一层的接口。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914040.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!