工厂方法模式

来源:互联网 发布:阿里妈妈和淘宝联盟 编辑:程序博客网 时间:2024/04/29 20:33

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

  • 优点
    • 客户端不需要再负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性
  • 缺点
    • 需要额外的编写代码,增加了工作量

举例如下:(举一个创建狗的工厂的例子)

  • 创建抽象父类(动物)

    abstract class Animal{    public abstract void eat();}
  • 创建抽象工厂接口

    interface AnimalFactory{    public abstract Animal AnimalFactory();}
  • 创建实现狗

    class Dog extends Animal{    public void eat(){        System.out.println("狗吃骨头");    }}
  • 创建一个生产狗对象的工厂类

    class DogFactory implements AnimalFactory {    public Animal animalFactory() {        return new Dog();    }}
  • 测试类

    class Test{    public static void main(String[] args) throws Exception{         AnimalFactory af = new DogFactory();//创建工厂类         Animal a = af.createAnimal();//由工厂类生产相应动物对象         a.eat();    }}
    • 输出:狗吃骨头
0 0
原创粉丝点击