首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

[构造型模式] head first 设计模式之工厂模式(Factory)

2013-08-29 
[结构型模式] head first 设计模式之工厂模式(Factory)1 概述工厂模式专门负责将大量有共同接口的类实例化

[结构型模式] head first 设计模式之工厂模式(Factory)
1 概述
  工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。工厂模式有以下几种形态:
  a) 简单工厂(Simple Factory)模式
  专门定义一个类来负责创建其它类的实例,被创建的实例通常都具有共同的父类。
  注意:简单工厂模式并不包含在23种模式之内。

  b) 工厂方法(Factory Method)模式,又称多形性工厂(Polymorphic Factory)模式
  将对象的创建交由父类中定义的一个标准方法来完成,而不是其构造函数,究竟应该创建何种对象由具体的子类负责决定。通过继承来实现的。

  c) 抽象工厂(Abstract Factory)模式,又称工具箱(Kit或Toolkit)模式
  提供一个共同的接口来创建相互关联的多个对象。通过组合来实现的,但是抽象工厂中创建产品的方法通常是以“工厂方法”来实现的

GOF在《设计模式》一书中将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory)。将简单工厂模式(Simple Factory)看为工厂方法模式的一种特例,两者归为一类。

2 说明
  工厂方法用来处理对象的创建,并将这样的行为封装在子类中。这样,客户程序中关于超类的代码就和子类对象创建代码解耦了。
  工厂模式定义:实例化对象,用工厂方法代替new操作。


简单工厂代码示例






抽象工厂示例
 

热点排行