工厂方法是一种创建型设计模式, 解决了在不指定具体类的情况下创建产品对象的问题。

工厂方法定义了一个方法, 且必须使用该方法代替通过直接调用构造函数来创建对象(new操作符)的方式。 子类可重写该方法来更改将被创建的对象所属类。

一、介绍

  • 将 new 操作单独封装;
  • 遇到 new 时,就要考虑是否该使用工厂模式;

举例:购买汉堡,直接点餐、取餐,不会直接亲手做。商店要“封装”做汉堡的工作,做好直接给购买者。

在JS中,针对工厂模式常用如下的简化UML类图: 工厂方法模式 - 图1其中:

  • Create 类的create方法返回的是Product实例(即Product类型);

二、演示

三、场景

四、总结