摘要:外观模式为子系统中的一组接口提供一个一致的界面,模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。代码外观模式启动启动启动外观模式优点减少系统相互依赖。适用场景为复杂的模块或子系统提供外界访问的模块。
外观模式
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。降低访问复杂系统的内部子系统时的复杂度。在客户端和复杂系统之间再加一层,将调用顺序、依赖关系等处理好。
实例模拟电脑启动,假设电脑启动顺序:启动CPU,启动内存,启动硬盘,加载数据等。
代码// 外观模式 function CPU() { this.startup = function () { console.log("启动CPU"); }; } function Memory() { this.startup = function () { console.log("启动Memory"); }; } function Disk() { this.startup = function () { console.log("启动Disk"); }; } function Computer() { var _cpu, _memory, _disk; _cpu = new CPU(); _memory = new Memory(); _disk = new Disk(); this.start = function () { _cpu.startup(); _memory.startup(); _disk.startup(); } } computer = new Computer(); computer.start();外观模式优点
1.减少系统相互依赖。
2.提高灵活性。
2.提高了安全性。
1.为复杂的模块或子系统提供外界访问的模块。
2.客户程序与抽象类的实现部分之间存在着很大的依赖性。引入facade 将这个子系统与客户以及其他的子系统分离,可以提高子系统的独立性和可移植性。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/79532.html
摘要:推文用设计模式解构三国是一种什么体验行为型设计模式一策略模式工厂模式优化结构状态模式随着状态改变而改变行为。推文状态机与状态模式责任链模式多个对象依次处理请求前者指定后者。代理模式代理针对一个对象,为了增加控制等中介双方都是多个,为了解耦。 策略模式 选择使用封装好的一系列算法,可相互替换。 类比:商店[Context]买完衣服买单[Stratege](现金[Concrete Stra...
摘要:大潮来袭前端开发能做些什么去年谷歌和火狐针对提出了的标准,顾名思义,即的体验方式,我们可以戴着头显享受沉浸式的网页,新的标准让我们可以使用语言来开发。 VR 大潮来袭 --- 前端开发能做些什么 去年谷歌和火狐针对 WebVR 提出了 WebVR API 的标准,顾名思义,WebVR 即 web + VR 的体验方式,我们可以戴着头显享受沉浸式的网页,新的 API 标准让我们可以使用 ...
摘要:外观模式在中常常用于解决浏览器兼容性问题。实现外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。外观模式的优势是易于使用,而且本身也比较轻量级。 1. 简介 外观模式(Facade)为子系统中的一组接口提供了一个一致的界面,此模块定义了一个高层接口,这个接口值得这一子系统更加容易使用。外观模式在JS中常常用于解决浏览器兼容性问题。 2. 实现 外观模式不仅简化类中的接口,而且...
阅读 1938·2021-09-04 16:45
阅读 719·2019-08-30 15:44
阅读 874·2019-08-30 13:07
阅读 440·2019-08-29 16:06
阅读 1338·2019-08-29 13:43
阅读 1226·2019-08-26 17:00
阅读 1508·2019-08-26 13:51
阅读 2271·2019-08-26 11:48