工厂方法模式浅析
2018-07-03 本文已影响0人
游仪
java中有24中设计模式,工厂方法模式((factory method pattern)是最常见的一种设计模式,那么它具体是怎样实现的?相较于其他几种设计模式,又有哪些优缺点呢?又是在什么场景下使用的?下面我们来简单解答一下。
工厂方法模式属于创建模式的一种,在工厂方法模式中,创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。定义一个创建对象的接口, 但由子类决定要实例化的类是哪一个. 工厂方法让类把实例化推迟到子类。
优点:提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。
缺点:每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。
使用场景:
1、客户端不知道它要创建的具体是哪一个子类。
2、一个类想要由自己的子类来定义某对象的创建过程。
3、类将创建某对象的职责代理给一些帮助子类中的一个,并且你想要将哪一个子类作为代理的信息进行局部化。
具体实现
1、创建接口

2、创建接口实现类



3、创建一个工厂,生成基于实体类的对象。

4、使用工厂,获取实体类的对象。

5、执行并输出结果。

详细代码见GitHub:GitHub - Leo0920/FactoryPattern: 这是一个工厂模式的简单实现