工厂方法(Factory Method)设计模式
2012-12-22 15:14
218 查看
工厂模式的结构如下图所示:
工厂模式的参与者包括:
1. Product: 所定义的工厂方法所要创建的对象的接口。
2. ConcreteProduct: 实现 Product。创建的实际对象类。
3. Factory:声明工厂方法
4. ConcreteFactory:实体工厂。用于创建产品。
下面是工厂方法(Factory Method)设计模式的一个例子。该例子中,使用工厂模式创建手机对象。
MobileFactory.java:
MotorolaFactory.java:
NokiaFactory.java:
Mobile.java:
Motorola.java:
Nokia.java:
Client.java:
需要注意的是,这个例子同样也是Abstract Factory 抽象工厂模式的例子,只是这里只生产一种产品 Mobile。
工厂模式的参与者包括:
1. Product: 所定义的工厂方法所要创建的对象的接口。
2. ConcreteProduct: 实现 Product。创建的实际对象类。
3. Factory:声明工厂方法
4. ConcreteFactory:实体工厂。用于创建产品。
下面是工厂方法(Factory Method)设计模式的一个例子。该例子中,使用工厂模式创建手机对象。
MobileFactory.java:
public interface MobileFactory{ public Mobile produceMobile(); }
MotorolaFactory.java:
public class MotorolaFactory implements MobileFactory{ public Mobile produceMobile(){ return new Motorola(); } }
NokiaFactory.java:
public class NokiaFactory implements MobileFactory{ public Mobile produceMobile(){ return new Nokia(); } }
Mobile.java:
public interface Mobile{ public void call(); }
Motorola.java:
public class Motorola implements Mobile{ public void call(){ System.out.println("Motorola producted"); } }
Nokia.java:
public class Nokia implements Mobile{ public void call(){ System.out.println("Nokia producted"); } }
Client.java:
public class Client{ public static void main(String[] args){ MobileFactory mbf = new NokiaFactory(); Mobile mb=mbf.produceMobile(); mb.call(); mbf= new MotorolaFactory(); mb=mbf.produceMobile(); mb.call(); } }
需要注意的是,这个例子同样也是Abstract Factory 抽象工厂模式的例子,只是这里只生产一种产品 Mobile。
相关文章推荐
- 设计模式之工厂方法(FACTORY METHOD))(二)
- 【设计模式】之 Factory Method 工厂方法
- 设计模式(3)——工厂方法 Factory Method
- 设计模式(2)-创建型-工厂方法(Factory method)(个人笔记)
- 设计模式学习-Factory Method(工厂方法)
- 设计模式学习-Factory Method(工厂方法)
- 设计模式(三)、FACTORY METHOD(工厂方法)---对象创建型模式
- 简单工厂,Factory Method(工厂方法)和Abstract Factory(抽象工厂)模式
- 设计模式之工厂方法模式
- 设计模式2——创建型模式之工厂方法模式
- 设计模式:工厂方法和抽象工厂
- 设计模式—工厂方法
- 设计模式-工厂模式(简单工厂模式和方法工厂模式)
- 设计模式--创建型-FactoryMethod(工厂方法)
- 工厂方法设计模式
- 工厂设计模式之:简单工厂、工厂方法、抽象工厂
- 设计模式之工厂方法模式及代码示例
- (4)设计模式方法-创建型设计模式--:简单工厂模式【【【工厂方法模式
- 23种设计模式(2):工厂方法模式
- Java设计模式之简单工厂、工厂方法和抽象工厂