介绍
- 旧接口格式和使用者不兼容
- 中间加一个适配转换接口
(插排的转换器)
UML类图
代码
class NeedAdaptee {specialRequest() {return `德国标准插头`}}class Target {constructor() {this.needAdaptee = new NeedAdaptee()}request() {let info = this.needAdaptee.specialRequest()return `info ${info} - 转换器 - 中国标准插头`}}const adaptor = new Target()console.log(adaptor.request())
场景
旧的接口转换
let $ = {ajax: function (options) {return ajax(options)}}
vue的computed
<div id="example"><p>Original message: "{{ message }}"</p><p>Computed reversed message: "{{ reversedMessage }}"</p></div><script>var vm = new Vue({el: '#example',data: {message: 'Hello'},computed: {// 计算属性的 getterreversedMessage: function () {// `this` 指向 vm 实例return this.message.split('').reverse().join('')}}})</script>
设计原则验证
将旧接口与使用者分离
- 符合OCP
