资讯专栏INFORMATION COLUMN

js设计模式 --- 适配设计模式

Jaden / 1646人阅读

摘要:适配模式定义适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。

适配模式
定义:适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。

原有的两个类由于接口不一, 需要对其中一个类进行适配包装, 以供与另外的类进行沟通匹配

实现适配模式有两种, 继承和桥接, 后者本人更喜欢

继承结构:

实现

220v接口

//类适配器模式
var v220 = new Interface("v220", ["output220V"]);

220v电源类

let Voltage220 = function() {
};
Voltage220.prototype.output220V = function() {
  let src = 220;
  console.log("我是" + src + "V");
  return src;
}

5v接口

var v5 = new Interface("v5", ["output5V"]);

适配类

let VoltageAdapter = function () {
  Voltage220.call(this);
}
// 实现5v接口
VoltageAdapter.prototype.output5V = function() {
  let src = this.output220V();
  console.log("适配器工作开始适配电压");
  let dst = src / 44;
  console.log("适配完成后输出电压:" + dst);
  return dst;
}
extend(VoltageAdapter, Voltage220);

继承结构:

实现

适配类

let VoltageAdapter2 = function (voltage220) {
  this.mVoltage220 = voltage220;
};
VoltageAdapter2.prototype.output5V = function () {
  let dst = 0;
  if (null != this.mVoltage220) {
      let src = this.mVoltage220.output220V();
      console.log("对象适配器工作,开始适配电压");
      dst = src / 44;
      console.log("适配完成后输出电压:" + dst);
  }
  return dst;
}

对象适配器和类适配器其实算是同一种思想,只不过实现方式不同。 
根据合成复用原则,组合大于继承, 第二种优于第一种,它解决了类适配器必须继承src的局限性问题.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/107590.html

相关文章

  • JS 适配模式

    摘要:另外,适配器模式和其它几个模式可能容易让人迷惑,这里说一下大概的区别适配器和桥接模式虽然类似,但桥接的出发点不同,桥接的目的是将接口部分和实现部分分离,从而对他们可以更为容易也相对独立的加以改变。 1. 简介 适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一...

    Jeffrrey 评论0 收藏0
  • 一天一个设计模式JS实现——适配模式

    摘要:本文参考于设计模式课程设计模式之适配器模式设计模式是一套被反复使用的多数人知晓的经过分类编目的代码设计经验的总结。第一个设计模式是适配器模式。总的来说适配器就是的模式,与修饰模式直接无感使用不同,适配器模式使用对象变为。 本文参考于:设计模式课程设计模式之适配器模式 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被...

    Aceyclee 评论0 收藏0
  • 焖面&适配

    摘要:门面模式焖面有两个作用一是简化类的接口二是消除类与使用他的业务代码之间的耦合他几乎是所有库的核心原则通过建立一些便利方法可以让复杂系统变得更加简单易用焖面模式可以使库提供的工具更加容易理解焖面可以简化错误记录或者跟踪页面视图统计数据这类这类 门面模式 焖面,有两个作用,一是简化类的接口;二是消除类与使用他的业务代码之间的耦合.他几乎是所有 JS 库的核心原则.通过建立一些便利方法可以让...

    suemi 评论0 收藏0
  • JS 设计模式 十(适配模式

    摘要:适配器模式是指将一个接口转换成客户端希望的另外一个接口,该模式使得原本不兼容的类可以一起工作。适配器有种角色目标抽象角色定义客户所期待的使用接口。接口源角色需要被适配的接口。接口适配器角色把源接口转换成符合要求的目标接口的设备。 适配器模式 是指将一个接口转换成客户端希望的另外一个接口,该模式使得原本不兼容的类可以一起工作。举个例子:macbook pro有一个HDMI接口,一条HDM...

    mochixuan 评论0 收藏0
  • 【移动适配】移动Web怎么做屏幕适配(一)

    摘要:屏幕适配是一个很容易被忽略的问题,但对于精益求精的产品而言,是必不可少的。对于开发的求职者而言,也是一个必需要理解清楚的经典问题文啃先生壹移动端适配的是什么我们讨论的是网页适配多种尺寸屏幕,让网页效果看起来和设计师的设计稿一样。 屏幕适配是一个很容易被忽略的问题,但对于精益求精的产品而言,是必不可少的。对于Web开发的求职者而言,也是一个必需要理解清楚的经典问题 文 | 啃先生 Mar...

    huangjinnan 评论0 收藏0

发表评论

0条评论

Jaden

|高级讲师

TA的文章

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