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

原创 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
版权声明:本文为博主原创文章,未经博主允许不得转载。

浅谈设计模式——对象的创建型模式

近期对Java的设计模式比较感兴趣,设计模式更好的用途只能等到工作后慢慢地体会了,以下总结一下每种设计模式的摘要,方便有个知识框架。感兴趣的可以参考阎宏博士的《Java与模式》,同时参考以下博客,个人...
  • zhuqiuhui
  • zhuqiuhui
  • 2016年08月03日 10:42
  • 367

跟着实例学习设计模式(6)-生成器模式builder(创建型)

生成器模式是创建型设计模式。 设计意图:将一个复杂的类表示与其构造相分离,使得相同的构建过程能够得出不同的表示。 实例类图: IVehicleBuilder:抽象建造者,为创建一个Vehicle对...
  • andy_gx
  • andy_gx
  • 2015年07月12日 20:56
  • 813

Buileder(生成器)—对象创建型模式

Buileder(生成器)—对象创建型模式 一 意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二 适用性 在以下情况使用Build模式: ...
  • SunboyJohn690905084
  • SunboyJohn690905084
  • 2016年07月08日 14:30
  • 404

设计模式--六种创建型模式

前言   每几种模式之间都有一定的联系,从中发现它们的相同点和不同点,研究发生改变的节点,这就是本篇博客所要说明的创建型设计模式之间的联系。它们包括:简单工厂模式、单例模式、工厂方法模式、抽象工厂...
  • m18633778874
  • m18633778874
  • 2017年04月13日 16:58
  • 310

六种创建型设计模式的比较和总结

一、描述 创建型设计模式包括如下几个:简单工厂模式(Simple Factory)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、创建者模式(Bui...
  • tongyuehong
  • tongyuehong
  • 2015年05月02日 15:46
  • 1413

GOF设计模式笔记之创建型模式

这里是篇关于gof设计模式的笔记,记录了五种创建模型的基本特点,这是篇笔记,大家慎重进入...
  • qq_28282317
  • qq_28282317
  • 2016年04月18日 22:03
  • 407

创建模式、结构模式、行为模式的区别

创建模式 创建型模式,就是创建对象的模式,抽象了实例化的过程。  它帮助一个系统独立于如何创建、组合和表示它的那些对象。  关注的是对象的创建,创建型模式将创建对象的过程进行了抽象,也可...
  • AlbertFly
  • AlbertFly
  • 2016年08月22日 16:37
  • 1045

【设计模式】对象的克隆-原型模式

原型模式是对象的创建模式。原型模式使用原型实例指定创建对象的类型,通过克隆原型来创建新的对象,其实就是复制对象。        原型模式在我们的生活中处处都存在,大家应该用过很多软件,都有模板,就拿我...
  • LZGS_4
  • LZGS_4
  • 2015年04月20日 16:11
  • 938

设计模式(创建型)之单例模式(Singleton Pattern)

单例模式可能是23种设计模式中最简单的。应用也非常广泛,譬如Android中的数据库访问等操作都可以运用单例模式。核心概念: 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称...
  • yanbober
  • yanbober
  • 2015年04月27日 16:50
  • 2582

设计模式分类(创建型模式、结构型模式、行为模式)

1.创建型模式 前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能...
  • itpinpai
  • itpinpai
  • 2016年04月25日 18:51
  • 7754
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:工厂方法——对象创建型模式
举报原因:
原因补充:

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