美文网首页
工厂模式 - 演示与场景

工厂模式 - 演示与场景

作者: EmilWong | 来源:发表于2019-06-09 22:40 被阅读0次

UML类图:


image.png

代码模拟:

class Product {
    constructor(name){
        this.name = name
    }
    init() {
        
    }
    fn1() {

    }
    fn2(){

    }
}
class Creator {
    create(name) {
        return new Product(name)
    }
}

实例:
React.createElement

var profile = React.createElement("div", null, 
  React.createElement("img", {src: "avatar.png", className: "profile"}),
  React.createElement("h3", null, [user.firstName, user.lastName].join(" "))
)

class Vnode(tag, attrs, children) {
  // ...省略内部代码
}
React.createElement = function(tag, attrs, children){
  return new Vnode(tag, attrs, children)
}

工厂模式设计原则:

  • 构造函数和创建者分离
  • 符合开放封闭原则

相关文章

  • 工厂模式 - 演示与场景

    UML类图: 代码模拟: 实例:React.createElement 工厂模式设计原则: 构造函数和创建者分离 ...

  • 外观模式 - 演示与场景

    UML类图: 使用场景:业务场景,多个子系统代码演示: 不符合单一职责原则和开放封闭原则,因此谨慎使用,不可随意调用

  • 代理模式 - 演示与场景

    使用场景 VPN代理 SSR UML类图 代码演示: JS使用场景 网页事件代理 jQuery $.proxy E...

  • 状态模式 - 演示与场景

    一个对象有状态变化 每次状态变化都会触发一个逻辑 不能总是if..else来控制

  • 设计模式之工厂方法模式

    场景1: 场景2: 工厂模式的概念 实例化对象,用工厂方法代替 new 操作。工厂模式包括工厂方法模式和抽象工厂模...

  • 工厂模式

    3.工厂模式 按照业务场景划分:一、简单工厂模式,二、工厂方法模式,三、抽象工厂模式。 3.1 简单工厂模式 即静...

  • 装饰器模式 - 演示与场景

    为对象添加新功能 不改变其原有的结构和功能 UML类图: 使用场景:core-decorators API 下一个...

  • 迭代器模式 - 演示与场景

    顺序访问一个集合 使用者无需知道集合的内部结构(封装)UML类图:image.png代码演示: 使用场景:jQue...

  • 单例模式 - 演示与场景

    系统中被唯一使用 一个类只有一个实例示例: 登录框 购物车 UML类图 代码演示: 使用场景:jQuery只有一个...

  • 第3章 创建型模式-抽象工厂模式

    ■ 抽象工厂模式的优点 ■ 抽象工厂模式的缺点 ■ 抽象工厂模式的使用场景 ■ 抽象工厂 AbstractFact...

网友评论

      本文标题:工厂模式 - 演示与场景

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