美文网首页
工厂模式

工厂模式

作者: 我的钱包瘪瘪的 | 来源:发表于2020-05-06 14:51 被阅读0次

    工厂模式

    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)
    }
    

    相关文章

      网友评论

          本文标题:工厂模式

          本文链接:https://www.haomeiwen.com/subject/zeqwghtx.html