享元 与 桥接

享元

思想:抽出不同的部分。

// 源代码
function a(paramsm, fn) {
  let arr1 = [];
  let arr2 = [];
  if (params) {
    arr1.forEach(fn);
  } else {
    arr2.forEach(fn);
  }
}

// 享元模式
function a(paramsm, fn) {
  let arr1 = [];
  let arr2 = [];
  let target = params ? arr1 : arr2;
  target.forEach(fn);
}

桥接

思想:抽出相同的部分。

// 源代码
function a(dom) {
  // todo
  dom.style.fontSize = '15px';
  // ...
}
function B(dom) {
  // todo
  dom.style.fontSize = '15px';
  // ...
}

// 桥接
function a(dom) {
  // todo
  setFontSize(dom);
}
function B(dom) {
  // todo
  setFontSize(dom);
}
function setFontSize(dom) {
  dom.style.fontSize = '15px';
  // ...
}
上一篇:vue03


下一篇:java异常学习