作者:yanyige | 发布时间:2018-06-15 19:15

零、工厂方法模式概述

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

一、为什么要用工厂方法?

符合开闭原则,增加一个类的时候可以不必要变动已有代码而只需要增加一个具体的工厂类即可。
增强代码可维护性,和扩展性。
但是会增大代码量。

二、例子

public interface Factory {
    public abstract Animal createAnimal();
}
public class DogFactory implements Factory {
    @Override
    public Animal createAnimal() {
        return new Dog();
    }
}

使用:

    Factory f = new DogFactory();
    Animal d = f.createAnimal();
    d.eat();