JAVA简单工厂设计模式:Simple Factory

wangking717 写道
简单工厂模式,把对象(统一接口)的创建封装起来,而不去用了解对象所代表的真正的实现类及其初始化过程。我们只需要把参数传递给简单工厂,工厂就会根据你的需要返回相应的产品对象
 

简单工厂模式是大家常用到的一个模式,最直观的还是来看类图吧!


JAVA简单工厂设计模式:Simple Factory
 

 

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();  
    }  
} 

你可能感兴趣的:(java,设计模式)