当前位置:编程学习 > JAVA >>

设计模式--创建模式--简单工厂模式--java

[java]  
/** 
 * 简单工厂 --- 静态工厂 
 * @author changsheng 
 * 
 */  
public class Factory {  
    static public Product getProduct(){  
        return new Product();  
    }  
    /** 
     * 提供相应参数,然后由静态工厂方法来创建所需的产品既对象。 
     */  
    static public Product getProduct(int type){  
        Product p = null ;  
        switch(type){  
        case 1:  
            p = new Product1();  
            break;  
        case 2:  
            p = new Product2();  
            break;  
        case 3:  
            p = new Product3();  
            break;  
            default :  
                throw new InvalidateProductType("没有可用产品类型!");  
        }  
        return p;  
    }  
}  
 
 
[java]  
public class Example {  
  
    @SuppressWarnings("unused")  
    public static void main(String[] args) throws ClassNotFoundException {  
  
        String numStr = "123";  
        int numInt = Integer.valueOf(numStr);  
  
        /** 
         * Integer.valueOf 简单工厂方法 
         * numInt 产品角色 
         * numStr 简单工厂参数 
         */  
  
        Object obj = Class.forName("designpatterns.易做图factory.Product1");  
  
        Class.forName("com.mysql.jdbc.Driver");  
  
    }  
  
}  
简单工厂缺点
•简单工厂中的静态方法造成工厂不可能形成基于继承的等级结构。
•如果产品有复杂的等级结构,有多少抽象接口或者抽象类(抽象产品接口),就需要多少个静态方法。
•随着产品的增多,会造成简单工厂职能越来越多越来越复杂。
 
 
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,