`
lintomny
  • 浏览: 225060 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Factory - 工厂模式

阅读更多
关于工厂模式,没什么好说的,实在太常见了。不过作为设计模式的完整性,还是将它写出来来。

以前我们创建一个对象时通常是采用new的方式,如
java 代码
  1. Product proa = new ProductA();
  2. Product prob = new ProductB();

这样进行实例创建的一个结果是,当Product子类越来越多的时候,这样就需要修改new代码。这样是很麻烦的。一个解决的方法就是使用一个对象来管理这些对象的创建。这个用来创建对象的便是Factory。

定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。(G4)

下面来看看具体的实现代码吧。
java 代码
 
  1. // 工厂方法所创建的对象的接口  
  2. public interface Product {  
  3.   ......  
  4. }  

java 代码
 
  1. // 产品A  
  2. public class ProductA implements Product {  
  3.   ......  
  4. }  
  5.   
  6. // 产品B  
  7. public class ProductB implements Product {  
  8.   ......  
  9. }  

工厂
java 代码
 
  1. // 工厂,用于创建具体的Product  
  2. public class Factory {  
  3.   //创建Product  
  4.   public static Product createProduct (String product) {
  5.     if( product.equals("A") )  
  6.       return new ProductA();  
  7.     else if ( product.equals("B") )  
  8.       return new ProductB();  
  9.     else   
  10.       ......  
  11.   }  
  12. }  

这样,我们创建对象的时候就不需要使用new了。

java 代码
 
  1. Product proa = Factory.createProduct("A");   
  2. Product prob = Factory.createProduct("B");  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics