总结:java设计模式之---工厂方法

参考:JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)

              http://blog.csdn.net/jason0539/article/details/23020989

总结:工厂方法的本质是的用户不用去关心对象的具体创建过程,而是把对象的创建交给工厂,为什么交给工厂呢?因为有时候对象的创建是一个复杂的过程,需要经过复杂的初始化,也需要获取一些辅助对象的来构造对象,可能还需要复杂的计算过程,总而言之,工厂方法就是把对象的创建的具体细节封装起来,用户不用关心对象创建的内部过程。

/**
 * Created by chenxun on 2017/5/23.
 */

abstract class  Product{
    public  Product(){ }
    void show(){ };
}

class ProductA extends Product{
    public ProductA(){
        System.out.println("creatA");
    }

    @Override
    void show() {
        System.out.println("this is product a");
    }
}

class ProductB extends Product{
    public ProductB(){
        System.out.println("creatB");
    }

    @Override
    void show() {
        System.out.println("this is product b");
    }
}

class Factory {
    public Product creat(int type) {
        switch (type) {
            case 1:
                return new ProductA();
            case 2:
                return new ProductB();
            default:
                break;
        }
        return null;
    }
}

public class design_factory{
    public  static void main(String[] args){
        Factory factory = new Factory();

        Product A = factory.creat(1);
        A.show();

        Product B = factory.creat(2);
        B.show();
    }
}


        

你可能感兴趣的:(java)