工厂方法——对象创建型模式

原创 2016年08月29日 17:52:10

一、意图
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。
二、适用性
在下列情况下可以使用Factory Method模式

  • 当一个类不知道它所必须创建对象的时候。
  • 当一个类希望由它的子类来指定它所创建的对象的 。
  • 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。

三、结构
这里写图片描述

四、代码
Product

public abstract class Product {
}
public class ConcreteProduct extends Product {
}

Creator

public abstract class Creator {
    public void showName(){
        System.out.println(getProduct().getClass().getSimpleName());
    }

    /**
     * factory method.
     *
     * @return product
     */
    public abstract Product getProduct();
}
public class ConcreteCreator extends Creator {
    @Override
    public Product getProduct() {
        return new ConcreteProduct();
    }
}

Client

public class Client {
    public static void main(String[] args){
        Creator creator = new ConcreteCreator();
        creator.showName();
    }
}

结果:
ConcreteProduct
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

设计模式_创建型模式——工厂方法

工厂方法(Factory Method):工厂方法模式属于类的创建型模式。在工厂方法模式中,父类负责定义创建产品对象的工厂接口,而子类则负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完...

Scala设计模式Part I. 创建模式——3.工厂方法

描述 工厂方法的意图是: 定义一个对象创建接口,但是让子类决定实例化哪个类。工厂方法让类的实例化延迟到子类。 工厂方法通常用于实例化时无法确定其类型的情况。GOF中以一个应用程序框架为例。抽...

跟着实例学习设计模式(3)-工厂方法(创建型)

工厂方法属于创建型设计模式。 设计意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。        静态工厂使用面向对象的方式,有效的解决了增加新产品...

java创建型设计模式-工厂方法(1)

什么是工厂方法模式?定义产品:实例(对象)。工厂:生产产品,即实例(对象)。工厂方法模式(Factory Method):不通过构造方法实现对类的实例化,而是通过一个工厂类(Factory class...

创建型模式-简单工厂方法(simple_factory)

简单工厂方法简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。实例main.cc:#include #include "simple_factory.h" /* d...

创建型模式之工厂方法

工厂方法模式(Factory Method Pattern)又叫虚拟构造函数(Virtual Constructor)模式或多态性工厂(Polymorphic Factory)模式。工厂方法模式的用意...

(第Ⅱ部分 创建型模式篇) 第4章 工厂方法(Factory Method)

概述在 软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变 化?提供一种封装机制来隔离出“这个易变对象...

Java技术_每天掌握一种设计模式(003)_使用场景及简单实例(创建型:工厂方法)

模式描述 提供一个用于创建对象的接口(工厂接口),让其实现类(工厂实现类)决定实例化哪一个类(产品类),并且由该实现类创建对应类的实例。 2.模式作用 可以一定程度上解耦,消费者和产品实现类隔离开...

创建型模式-FactoryMethod ( 工厂方法 )

摘自《Java设计模式(疯狂JAVA联盟版)》 工厂方法  概述 定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实...

创建型模式-工厂方法(factory_method)

工厂方法定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。实例main.cc:#include "nike_factory.h" #inc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)