面向对象编程 - 工厂模式

什么是工厂模式

  • 工厂模式是用来创建对象的一种最常见的设计模式
  • 不暴露创建对象的具体逻辑,将逻辑封装在一个函数中,这个被封装的函数就可以被视为一个工厂
  • 工厂模式根据抽象程度分为:1.简单工厂,2.工厂方法,3,抽象工厂
  • 在写代码时,将new操作单独封装的时候,就是使用了工厂模式

工厂模式用了什么设计原则

  • 开发封闭原则
    • 也就是构造函数和创建者分离

工厂模式 - jQuery

/**
 * 工厂模式-jQuery
 */
class jQuery {
  constructor(selector) {
    const slice = Array.prototype.slice
    const dom = slice.call(document.querySelectorAll(selector))
    let len = dom ? dom.length : 0
    for (let i = 0; i < len; i++) {
      this[i] = dom[i]
    }
    this.length = len
    this.selector = selector || ''
  }
  append(node) {
    // append 
  }
  addClass(name) {
    // addClass
  }
  removeClass(name) {
    // removeClass
  }
  // 其他API
}
// 工厂模式体现,将new操作单独封装
window.$ = function (selector) { 
  return new jQuery(selector)
}

你可能感兴趣的:(面向对象编程 - 工厂模式)