一、什么是工厂模式:
Java中的工厂模式主要是用来将有大量共同接口的类实例化。工厂模式可以动态的决定将哪一个类实例化,不必事先知道要实例化哪个类,将类的实例化的主动权交给工厂而不是类本身。我们常见的工厂模式由三种形态:
- 简单工厂模式(Simple Factory):又叫做静态工厂方法模式(Static Factory Mehod Patte)。
- 工厂方法模式(Factory Method):又叫做多态性工厂模式(Polymorpic Method)或者虚构造子模式(Virtual Constructor)。
- 抽象工厂模式(Simple Factory):又叫做工具箱模式(Kit或ToolKit)。
接下来的我将会分三节来介绍工厂模式。
二、简单工厂模式示例图:
简单工厂模式是类的创建模式,又叫静态工厂方法模式。由一个工厂根据外部传入的参数决定动态创建出类的实例。这是最简单也是比较特殊的一类工厂模式。
三、简单工厂的个人理解:
优点:
1、便于对象的扩展,比如要创建一个五边形,只需要继承Shape接口即可,在工厂中对增加的类进行注册,既可以通过ShapeFactory来获取到增加的对象。
2、将同一类型的对象进行分装提取,共性都放在接口中,个性放在具体类中。
缺点:
1、不利于不同类型对象的创建,比如现在要增加一个水果类,就需要重写一个接口、一个工厂类,这样子如果有多个不同的类型,就会产生n个工厂,代码会比较臃肿。
2、不适合大量对象创建的情景。