美文网首页
设计模式之适配器模式

设计模式之适配器模式

作者: 回调的幸福时光 | 来源:发表于2019-06-17 21:00 被阅读0次

一、基础介绍

解决类(对象)之间接口不兼容问题。

适配器 UML 类图

二、应用场景

2.1 参数适配

以参数对象传入时,不知道传递的参数是否完整,如有一些参数没有传入,一些参数有默认值等,此时可通过适配器来适配传入的参数对象。

不一定非要用下面的这种形式,重点在于理解适配器的实质是对参数进行转化。

function foo(options) {
  var _options = {
    name: 'test',
    age: 25
  }
  Object.assign(_options, options);
  // do things
}
2.2 数据适配

开发中经常遇到的场景就是:

  • 后端返回的数据结构不一定是前端想要的,如果后端改起来难度较大,前端就要自行转化
  • 某个公共组件对传入的参数有格式要求,此时就需要先转化数据后才能被组件正常接收。
// 现有数据结构
var arr = ['lee', 25];

// 转化成键值对
function adapter(arr) {
  return {
    name: arr[0],
    age: arr[1]
  }
}

当然实际开发中,会复杂的多,比如扁平化转树形等需求。

2.3 适配不同的库

强烈建议:轻易不要替换,即使迫不得已要替换,尽量选择用法相似的库进行替换,否则适配器要写的很复杂。

2.4 框架中的适配器场景

angular 中的 filter 和 vue 中的 computed 从某种程度上来说,很符合适配器的思想。

参考

《JavaScript 设计模式与开发实践》曾探
《JavaScript 设计模式》张容铭
Javascript设计模式系统讲解与应用

相关文章

  • 简说设计模式之适配器模式

    前言:对于设计模式基础概念可以去看[简说设计模式之设计模式概述] 一、什么是适配器模式 适配器模式(Adapter...

  • 设计模式 - 目录

    设计模式01 - 单例模式 设计模式02 - 工厂模式 设计模式03 - 建造者模式 设计模式04 - 适配器模式...

  • 设计模式详解——适配器模式

    本篇文章介绍一种设计模式——命令模式。本篇文章内容参考《JAVA与模式》之适配器模式,Android设计模式源码解...

  • 设计模式之适配器模式

    设计模式之适配器模式 1. 模式定义 适配器模式又称包装器模式,属于结构型模式,它可以将一个接口转换成客户希望的另...

  • 最常用的设计模式---适配器模式(C++实现)

    适配器模式属于结构型的设计模式,它是结构型设计模式之首(用的最多的结构型设计模式)。 适配器设计模式也并不复杂,适...

  • iOS设计模式(5)策略模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(6)模板模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(7)建造者模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(4)抽象工厂模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(1)简单工厂模式

    设计模式系列文章 《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器模式》《iOS设计模式(4)抽象工厂...

网友评论

      本文标题:设计模式之适配器模式

      本文链接:https://www.haomeiwen.com/subject/qkwzfctx.html