设计模式之简单工厂模式(Simple Factory)

//同一接口
public interface IProduct {
    void sale();
}
//第一个实现类
public class Product1 implements IProduct {

    @Override
    public void sale() {
        System.out.println("This is Product1.");
    }

}
//第二个实现类
public class Product2 implements IProduct {

    @Override
    public void sale() {
        System.out.println("This is Product2.");
    }

}
//简单工厂类
public class ProductFactory {
    public IProduct createProduct(String className)
    {
        IProduct product=null;
        try
        {
            //利用Java反射机制
            product=(IProduct)Class.forName(className).newInstance();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return product;
    }
}
//测试代码
public class Test {

    public static void main(String[] args) {
        ProductFactory factory=new ProductFactory();
        IProduct product=null;
        
        product=factory.createProduct("Product1");
        product.sale();
        
        product=factory.createProduct("Product2");
        product.sale();
    }

}

 

posted on 2013-10-30 21:01  Anonymous_  阅读(145)  评论(0)    收藏  举报

导航