美文网首页
java设计模式02(工厂方法模式)

java设计模式02(工厂方法模式)

作者: 刺风有道 | 来源:发表于2019-04-05 23:39 被阅读0次

工厂方法模式简称为工厂模式,又可称为虚拟构造器模式或多态工厂模式。工厂方法模式是一种类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。
概述:定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。

工厂方法模式结构与实现
1.Factory(抽象工厂):在抽象工厂类中声明了工厂方法,用于返回生产的产品。抽象工厂是工厂方法模式的核心,所有创建对象的工厂类都必须实现该接口。

public interface Factory {

    public Product factoryMethod();
}

2.ConcreteFactory(具体工厂):它是抽象工厂类的子类(实现类),实现了在抽象工厂中声明的工厂方法,并返回一个具体产品类的实例。

public class ConcreteFactory implements Factory {

    @Override
    public Product factoryMethod() {
        //父类的引用指向子类对象
        return new ConcreteProduct();
    }

}

3.Product(抽象产品):他是定义产品的接口,是工厂方法模式所创建对象的超类型,也就是产品对象的公共父类。

public interface Product {

    /**
     * 创建产品
     */
    public void createProduct();
}

4.ConcreteProduct(具体产品):它实现类抽象产品接口,某种类型的具体产品由专门的具体工厂创建,且具体工厂和具体产品之间一一对应。

public class ConcreteProduct implements Product {

    @Override
    public void createProduct() {
        System.out.println("创建具体产品!");
    }

}

5.Test

public class Test {

    public static void main(String[] args) {
        Factory factory=new ConcreteFactory();
        Product product=factory.factoryMethod();
        product.createProduct();
    }
}

相关文章

  • 设计模式系列-简单工厂模式

    JAVA设计模式系列: 单例模式 观察者模式 模板方法模式 简单工厂模式 定义 简单工厂模式又叫做静态工厂方法模式...

  • 工厂模式

    java设计模式-工厂模式 工厂模式: 工厂模式是java设计模式里最常用的设计模式之一。 工厂模式属于创建型模式...

  • 设计模式系列-抽象工厂模式

    JAVA设计模式系列: 单例模式 观察者模式 模板方法模式 简单工厂模式 抽象工厂模式 抽象工厂模式 定义 抽象工...

  • 工厂方法模式

    Java23种设计模式--工厂方法模式 一、什么是工厂方法模式 工厂方法模式同样属于类的创建型模式又被称为多态工厂...

  • Java设计模式教程

    Java设计模式教程 Java工厂设计模式 Java抽象工厂模式 Java单例模式 Java建造者(Builder...

  • Java23种设计模式之创建型模式「工厂方法模式」

    工厂方法模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属...

  • 简单工厂模式

    Java23种设计模式--简单工厂模式 一、什么是简单工厂模式 简单工厂模式属于类的创建型模式,又叫做静态工厂方法...

  • Java与模式

    《JAVA与模式》之简单工厂模式《JAVA与模式》之工厂方法模式《JAVA与模式》之抽象工厂模式

  • 总览

    1 书籍推荐 《Java设计模式》 2 分类 创建型模式 工厂方法模式 抽象工厂模式 单例模式 建造者模式 原型模...

  • Java设计模式系列-抽象工厂模式

    原创文章,转载请标注出处:《Java设计模式系列-抽象工厂模式》 一、概述 抽象工厂模式是对工厂方法模式的再升级,...

网友评论

      本文标题:java设计模式02(工厂方法模式)

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