工厂模式

工厂模式

1. 介绍和举例

2. uml类图

3. demo代码

4. 经典应用场景

介绍和举例

1. 优势: 通过工厂函数直接生成实例, 而不需要每次都 new 生成

uml类图

工厂模式.png

demo代码

class Product {
  constructor(name) {
    this.name = name
  }
  init() {
    console.log('init');
  }
}
// 工厂函数
class Creator {
  create(name) {
    return new Product(name)
  }
}

// 使用
let creator = new Creator()
let p = creator.create('p')
p.init()

经典应用场景

  1. jquery中的$
window.$ = function (selector) {
  return new jQuery(selector)
}
  1. React.createElement
class Vnode {
  constructor(tag, attrs, children) {
    // ... 源码
  }
}
React.createElement = function (tag, attrs, children) {
  return new Vnode(tag, attrs, children)
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容