资讯专栏INFORMATION COLUMN

JS 设计模式 十一(外观模式)

ISherry / 3044人阅读

摘要:外观模式为子系统中的一组接口提供一个一致的界面,模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。代码外观模式启动启动启动外观模式优点减少系统相互依赖。适用场景为复杂的模块或子系统提供外界访问的模块。

外观模式

为子系统中的一组接口提供一个一致的界面,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...

    ShevaKuilin 评论0 收藏0
  • 前端面试题小集

    摘要:一一个页面上两个左右铺满整个浏览器,要保证左边的一直为,右边的跟随浏览器大小变化比如浏览器为,右边为,浏览器为,右边为,请写出大概的代码。如果需要使用,最好是通过动态给添加属性值,这样可以绕开以上两个问题。 一、一个页面上两个div左右铺满整个浏览器,要保证左边的div一直为100px,右边的div跟随浏览器大小变化(比如浏览器为500,右边div为400,浏览器为900,右边div为...

    bawn 评论0 收藏0
  • PHP基础

    摘要:分别为适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。设计模式五适配器模式适配器模式将某个对象的接生成器和协程的实现在这篇文章中,作者针对那些比较难以理解的概念,以一个更为通俗的方式去讲明白。。 PHP 源码注解 PHP 的详细源码注解 PHP 字符串操作整理 一些有关字符串的常用操作。 Redis 常见七种使用场景 (PHP 实战) 这篇文章主要介绍利用 R...

    HtmlCssJs 评论0 收藏0
  • JS或Jquery

    摘要:大潮来袭前端开发能做些什么去年谷歌和火狐针对提出了的标准,顾名思义,即的体验方式,我们可以戴着头显享受沉浸式的网页,新的标准让我们可以使用语言来开发。 VR 大潮来袭 --- 前端开发能做些什么 去年谷歌和火狐针对 WebVR 提出了 WebVR API 的标准,顾名思义,WebVR 即 web + VR 的体验方式,我们可以戴着头显享受沉浸式的网页,新的 API 标准让我们可以使用 ...

    CatalpaFlat 评论0 收藏0
  • JS 外观模式

    摘要:外观模式在中常常用于解决浏览器兼容性问题。实现外观模式不仅简化类中的接口,而且对接口与调用者也进行了解耦。外观模式的优势是易于使用,而且本身也比较轻量级。 1. 简介 外观模式(Facade)为子系统中的一组接口提供了一个一致的界面,此模块定义了一个高层接口,这个接口值得这一子系统更加容易使用。外观模式在JS中常常用于解决浏览器兼容性问题。 2. 实现 外观模式不仅简化类中的接口,而且...

    BothEyes1993 评论0 收藏0

发表评论

0条评论

ISherry

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<