Java实现
简单工厂
简单工厂应该是最简单的工厂方法了,也是最常见的。下面,通过代码就知道为什么这么说了。
1 | public class SimplePizzaFactory { |
1 | public class PizzaStore { |
通过简单工厂方法,有效的把new Object()
解耦了出来。在实际的业务中,不用再去关心如何去创建对象。特别是对象的创建与初始化很复杂,且有很多地方都需要用到该对象时,就不用每个地方都去显示的new一下,要修改初始化条件时,也只需要修改工厂方法即可。
工厂方法
定义:
工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
1 | public abstract class PizzaStore { |
1 | //纽约风格的披萨 |
1 | //芝加哥风格的披萨 |
抽象工厂
在所有的工厂模式中,还有一种叫抽象工厂模式。不过一直无法理解抽象工厂模式的具体使用场景,所以这部分留着今后对抽象工厂模式理解深刻了再来总结吧。
Javascript实现
简单工厂
举一个如下的业务场景:需要开发一个表单生成器,需要做到表单元素的自动生成。那么,可以采用简单工厂来创建表单元素对象。
1 | (function () { |
至于在javascript中工厂方法模式的使用,一时想不到使用场景,感觉有点为了用设计模式而设计模式,所以这里就不再举例了。
上一篇:设计模式系列之四装饰者模式
下一篇:设计模式系列之六命令模式