简单工厂模式

简单工厂模式(Simple Factory)

 

类图

简单工厂模式的一般结构,如图所示:

简单工厂模式_第1张图片
 

角色

工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。

抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。

具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。

 

实例

下面基于上述基本的简单工厂模式,观察产品结构变化,大致可以得到如下的情况:

第一种:

简单工厂模式_第2张图片
第二种:

简单工厂模式_第3张图片
第三种:
简单工厂模式_第4张图片

缺点

当再增加一个产品类时,都要在工厂类中增加相应的商业逻辑和判断逻辑,这显然是违背开闭原则的。

你可能感兴趣的:(java,模式,简单工厂)