【JS设计模式】温习简单工厂模式、工厂方法模式、抽象工厂模式概念
2017-08-17 18:33
253 查看
注:空心箭头表示的是种继承关系,工厂类和产品类之间是一种依赖关系。是用箭头加虚线表示的,以下的模型图是用的实线是不正确(时间不够用,在这里我偷懒了。这个习惯不好,呵呵)
简单工厂模式(Simple Factory Pattern):使用一个类(通常为单体)来创建实例;简单工厂模式也叫静态工厂方法模式(Static FactoryMethod Pattern).
接口的定义通常是以I开头标识符,在JS中未定义接口或抽象类的语法;
工厂方法模式使用子类来决定一个成员变量应该是哪个详细的类的实例
在简单工厂模式中是通过一个单体来实例化一个详细产品,而在工厂方法模式中是把这个实例化的过程交给了抽象工厂的子类来创建的
抽象工厂模式多个抽象产品类,每一个抽象产品类能够派生出多个详细产品类。
一个抽象工厂类,能够派生出多个详细工厂类。
每一个详细工厂类能够创建多个详细产品类的实例。
有二个抽象产品IBike和ICar类,它们分别派生二个详细产品有一个IMall抽象工厂类,它派生出二个详细工厂AMall和BMall类每一个详细工厂类又能够创建多个详细产品实例 AMall卖场销售BaoMa品牌的汽车和FengHuang品牌的自行车;BMall卖场销售FaLali品牌的汽车和JieAnTe品牌的自行车
简单工厂模式(Simple Factory Pattern):使用一个类(通常为单体)来创建实例;简单工厂模式也叫静态工厂方法模式(Static FactoryMethod Pattern).
接口的定义通常是以I开头标识符,在JS中未定义接口或抽象类的语法;
var MacBikeFactory = { createBike : function() { return new MacBike(); } } function IMacBike() {} function MacBike() {} MacBike.prototype = { constructor : MacBike, getBike: function() { console.log("创建一台Mac车"); } } var macFn = MacBikeFactory.createBike(); macFn.getBike();
工厂方法模式使用子类来决定一个成员变量应该是哪个详细的类的实例
function IMacBikeFactory() {} function MacBikeFactory() { this.createBike() { return new MacBike(); } } function IMacBike() {} function MacBike() {} MacBike.prototype = { constructor : MacBike, getBike: function() { console.log("创建一台Mac车"); } } var macBikeFactory = new MacBikeFactory(); var macBike = IMacBikeFactory.createBike(); macBike.getBike();
在简单工厂模式中是通过一个单体来实例化一个详细产品,而在工厂方法模式中是把这个实例化的过程交给了抽象工厂的子类来创建的
抽象工厂模式多个抽象产品类,每一个抽象产品类能够派生出多个详细产品类。
一个抽象工厂类,能够派生出多个详细工厂类。
每一个详细工厂类能够创建多个详细产品类的实例。
有二个抽象产品IBike和ICar类,它们分别派生二个详细产品有一个IMall抽象工厂类,它派生出二个详细工厂AMall和BMall类每一个详细工厂类又能够创建多个详细产品实例 AMall卖场销售BaoMa品牌的汽车和FengHuang品牌的自行车;BMall卖场销售FaLali品牌的汽车和JieAnTe品牌的自行车
相关文章推荐
- 【JS设计模式】温习简单工厂模式、工厂方法模式、抽象工厂模式概念
- 6.java设计模式(读书笔记)简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式学习笔记——简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- Java 可复用的面向对象的设计模式之 工厂模式Factory详解 :简单工厂模式 工厂方法模式 抽象工厂模式
- iOS常用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 2.工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)(设计模式笔记)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 简单工厂模式,工厂方法模式,抽象工厂模式 三大案例 (设计模式_16)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 设计模式C++实现-简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式理解之工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)
- "围观"设计模式(8)--创建型之简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式——简单工厂模式—工厂方法模式—抽象工厂模式(比较)
- 设计模式——简单工厂模式—工厂方法模式—抽象工厂模式(比较)
- 设计模式之_简单工厂模式、工厂方法模式、抽象工厂模式 、策略模式、策略与工厂的区别(转)
- 设计模式系列(七)简单工厂模式、工厂方法模式和抽象工厂模式对比
- 笔记十三:设计模式之简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)