工厂模式
Posted 紫色花开
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工厂模式相关的知识,希望对你有一定的参考价值。
工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。
工厂模式在《Java与设计模式》中分为3类:简单工厂模式、工厂方法模式、抽象工厂模式。GoF(GoF,“四人帮”,又称Gang of Four,即Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides)在《设计模式中》将工厂模式分为两类:工厂方法模式和抽象工厂模式。将简单工厂模式视为工厂方法模式的一种特例,两者归为一类。下面我们以工厂模式在《Java与设计模式》中的分类为例进行讲解。
一、简单工程模式
简单工厂模式又称静态工厂方法模式,它属于创建型模式。在简单工厂模式中,可以根据自变量的不同返回不同类的实例。简单工厂模式专门定义一个类负责创建其他类的实例,被创建的实例通常都具有共同的父类。
简单工厂模式组成如下:
- 工厂类角色:这角色是工厂方法模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,它由一个具体java类实现。
- 抽象产品角色:这是工厂方法模式的所创建的对象的父类,或者它们共同拥有的接口。抽象产品角色可以用一个java类接口或者java抽象类实现。
- 具体产品角色:工厂方法模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体java类实现。
简单工厂模式适用于如下环境:
- 工厂类负责创建的对象比较少
- 客户端只知道传入工厂类的参数,对于如何创建对象则不关心
二、工厂方法模式
三、抽象工厂模式
以上是关于工厂模式的主要内容,如果未能解决你的问题,请参考以下文章
JAVA设计模式——工厂模式简单工厂模式工厂方法模式抽象工厂模式