工厂模式

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设计模式——工厂模式简单工厂模式工厂方法模式抽象工厂模式

C++实现工厂模式(简单工厂模式工厂方法模式抽象工厂模式)

设计模式之工厂模式详解和应用

iOS经常使用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)

设计模式——抽象工厂模式