Explicación y aplicación del sistema de patrones de diseño de Javascript: notas de estudio Patrón de 4 adaptadores

Modo adaptador

  • El formato de la interfaz anterior no es compatible con el usuario.
  • Agregue una interfaz de conversión de adaptación en el medio
    Inserte la descripción de la imagen aquí
class Adaptee {
    
    
  specificRequest() {
    
    
    return '德国标准的插头'
  }
}

class Target {
    
    
  constructor () {
    
    
    this.adaptee = new Adaptee()
  }
  request() {
    
    
    let info = this.adaptee.specificRequest()
    return `${
      
      info} -> 转换器 -> 中国标准的插头`
  }
}

// 测试
let target = new Target()
let res = target.request()
console.log(res)

Escenas

  • Encapsular la interfaz anterior
  • vue computed
Encapsular la interfaz anterior
// 自己封装的ajax, 使用方式如下:
ajax({
    
    
  url: '/getData',
  type: 'Post',
  dataType: 'json',
  data: {
    
    
    id: "123"
  }
})
.done(funciton(){
    
    })

// 但因历史原因:代码中全都是 $.ajax({...})
// 因此, 做一层适配器
const $ = {
    
    
  ajax: funciton (options) {
    
    
    return ajax(options)
  }
}
vue computed
<div id="example">
  <p>{
    
    {
    
     message }}</p>
  <p>{
    
    {
    
     reverseMessage }}</p>
</div>
var vm = new Vue({
    
    
  el: '#example',
  data: {
    
    
    message: 'Hello'
  },
  computed: {
    
    
    // 计算属性的getter   获取现有的信息,将其进行转换适配
    reverseMessage: funciton () {
    
    
      // this指向vm实例
      return this.message.split('').reverse().join('')
    }
  }
})

Verificación del principio de diseño

  • Separe la interfaz anterior del usuario.
  • Cumplir con el principio abierto y cerrado.

Supongo que te gusta

Origin blog.csdn.net/weixin_40693643/article/details/108820244
Recomendado
Clasificación