factory工厂模式

工厂方法模式

工厂方法模式概述
    工厂方法模式中抽象工厂类负责定义创建对象的接口,具体对象的创建工作由继承抽象工厂的具体类实现

简单理解:

  与简单工厂模式类似,简单工厂模式是一个工厂,用户将条件为构造传入工厂,逻辑判断在工厂内,工厂只是一个创建对应的子类,然后利用泛型操作。

  工厂模式:不同工厂创建不同子类,抽象出一个工厂接口,使用哪一种工厂由用户自己选择。
    
优点:
    客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体
    的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性
    
缺点:
    需要额外的编写代码,增加了工作量

package com.factory;

public interface Animal {
    public void eat();
}
package com.factory;

public class Dog implements Animal {

    @Override
    public void eat() {
        System.out.println("狗吃肉");
    }

}
package com.factory;

public class Cat implements Animal {

    @Override
    public void eat() {
        System.out.println("猫吃鱼");
    }

}
package com.factory;

public interface Factory {
    public Animal createAnimal();
}
package com.factory;

public class CatFactory implements Factory {

    @Override
    public Animal createAnimal() {
        return new Cat();
    }

}
package com.factory;



public class DogFactory implements Factory {

    @Override
    public Animal createAnimal() {
        return new Dog();
    }

}
package com.factory;

public class AnimalDemo {
    public static void main(String[] args) {
        //买一只狗
        //建狗厂
        Factory f=new DogFactory();
        Animal d=f.createAnimal();
        d.eat();
        Factory f1=new CatFactory();
        Animal c=f1.createAnimal();
        c.eat();
    }
}

 

posted @ 2016-06-23 07:23  guodaxia  阅读(340)  评论(0编辑  收藏  举报