1. 程式人生 > >JAVA簡單工廠設計模式:Simple Factory

JAVA簡單工廠設計模式:Simple Factory

wangking717 寫道 簡單工廠模式,把物件(統一介面)的建立封裝起來,而不去用瞭解物件所代表的真正的實現類及其初始化過程。我們只需要把引數傳遞給簡單工廠,工廠就會根據你的需要返回相應的產品物件  

簡單工廠模式是大家常用到的一個模式,最直觀的還是來看類圖吧!



 

Iproduct.java  
public interface IProduct{  
    void work();  
}  
   
Product1.java  
public class Product1 implements IProduct{  
    @Override  
    public void work(){  
        System.out.println(this.getClass().getSimpleName());  
    }  
}  
   
Product2.java  
public class Product2 implements IProduct{  
    @Override  
    public void work(){  
        System.out.println(this.getClass().getSimpleName());  
    }  
}  
   
SimpleFactory.java  
public class SimpleFactory{  
    public IProduct getProduct(String type){  
        IProduct pro = null;  
        if("product1".equals(type)){ //如果這裡的IF分支很多,可以使用反射方式減少分支 
            pro = new Product1();  
        }else if("product2".equals(type)){  
            pro = new Product2();  
        }else {
            throw new RuntimeException("unknown operating type: "+type);    
        }
        return pro;  
    }  
}
   
Test.java  
public class Test{  
    public static void main(String[] args){  
        IFactory factory = new SimpleFactory();  
          
        IProduct pro1 = factory.getProduct("product1");  
        IProduct pro2 = factory.getProduct("product2");  
          
        pro1.work();  
        pro2.work();  
    }  
}