美文网首页
15.工厂方法模式

15.工厂方法模式

作者: 0x70e8 | 来源:发表于2018-08-14 20:38 被阅读0次

在模板方法模式中,在父类(抽象类)中定义流程,将具体实现交由子类实现,如果将模板方法模式用于生成实例对象,那么模板方法模式就衍生为工厂方法模式。

父类决定实例生成的方式,但是不决定实例的类型,具体的实现交给子类实现。

示例

  • 工厂类
public abstract class AbstractFactory {

    public AbstractProduct createInstance() {
        AbstractProduct instance = create();
        doSomeThing(instance);
        return create();
    }

    protected abstract AbstractProduct create();

    protected abstract void doSomeThing(AbstractProduct instance);
}

  • 抽象产品类
public abstract class AbstractProduct {

    public abstract void use();
}
  • 工厂实现类
public class CardFactory extends AbstractFactory {

    @Override
    protected AbstractProduct create() {

        return new Card();
    }

    @Override
    protected void doSomeThing(AbstractProduct instance) {
        System.out.println("nothing");
    }

}
  • 具体产品类
public class Card extends AbstractProduct {

    @Override
    public void use() {
        System.out.println("use product card");

    }

}

  • Client
public class Client {

    public static void main(String[] args) {
        AbstractFactory factory = new CardFactory();
        AbstractProduct card = factory.createInstance();
        card.use();
    }
}

总结

此模式是模板方法模式的应用。

相关文章

  • 15.工厂方法模式

    在模板方法模式中,在父类(抽象类)中定义流程,将具体实现交由子类实现,如果将模板方法模式用于生成实例对象,那么模板...

  • 设计模式-3种工厂模式

    工厂模式包括:简单工厂模式,工厂方法模式,抽象工厂模式 简单工厂模式 工厂方法根据参数直接创建实例:工厂->产品 ...

  • 设计模式-工厂模式

    工厂模式概念 实例化对象,用工厂方法代替new操作。工厂模式包括工厂方法模式和抽象工厂模式。抽象工厂模式是工厂模式...

  • 设计模式-工厂方法模式

    1、工厂方法模式(Factory Method) 工厂方法模式分为三种: 普通工厂模式 多个工厂模式 静态工厂模式...

  • 设计模式 工厂模式

    工厂模式 工厂模式三大类1、简单工厂模式(静态工厂方法模式)2、工厂方法模式3、抽象工厂模式(Kit模式) 简单工...

  • python设计模式 - 工厂模式之工厂方法

    python 环境 工厂方法模式简介 工厂方法模式Factory Method,又称多态性工厂模式。在工厂方法模式...

  • 第一章2.0工厂- 基础类准备

    2.1工厂-简单工厂模式2.2工厂-工厂方法模式2.3工厂-抽象工厂模式

  • 建造模式

    包括:简单工厂、工厂方法、抽象工厂、单例模式、多例模式、建造模式、原始原型模式。 简单工厂:又名静态工厂方法模式,...

  • PHP-浅谈单例模式和工厂模式

    PHP中常用的设计模式有单例模式、工厂模式(简单工厂模式、工厂方法模式和抽象工厂方法模式)、适配模式、策略模式。 ...

  • 设计模式学习--工厂方法模式

    模式定义 工厂方法模式又称工厂模式,也叫虚拟构造器模式或者多态工厂模式,它属于类创建型模式。在工厂方法模式中,工厂...

网友评论

      本文标题:15.工厂方法模式

      本文链接:https://www.haomeiwen.com/subject/zflbbftx.html