文档章节

创建型模式之二:工厂模式

奋斗到天明
 奋斗到天明
发布于 2015/08/27 16:35
字数 266
阅读 17
收藏 0

1. 工厂模式的故事

工厂模式的作用是根据不同的参数新建对象,下面的例子是关于在工厂中造人,如果我们问工厂要一个男孩,工厂就会生产一个男孩,如果我们问工厂要一个女孩,工厂就会生产一个女孩,基于不同的参数,工厂会生产不同的东西。

2.工厂模式的类图

3.工厂模式的代码

interface Human {
 public void Talk();
 public void Walk();
}
 
class Boy implements Human{
 @Override
 public void Talk() {
 System.out.println("Boy is talking..."); 
 }
 
 @Override
 public void Walk() {
 System.out.println("Boy is walking...");
 }
}
 
class Girl implements Human{
 
 @Override
 public void Talk() {
 System.out.println("Girl is talking..."); 
 }
 
 @Override
 public void Walk() {
 System.out.println("Girl is walking...");
 }
}
 
public class HumanFactory {
 public static Human createHuman(String m){
 Human p = null;
 if(m == "boy"){
 p = new Boy();
 }else if(m == "girl"){
 p = new Girl();
 }
 
 return p;
 }
}

4.工厂模式在Java标准库

根据不同的参数,getInstance()方法返回Calendar类不同实例:

java.util.Calendar - getInstance();
  java.util.Calendar - getInstance(TimeZone zone);
  java.util.Calendar - getInstance(Locale aLocale);
  java.util.Calendar - getInstance(TimeZone zone,locale aLocale);

  java.text.NumberFormat - getInstance();
  java.text.NumberFormat - getInstance(Locale inLocate)

以上文章翻译自: http://www.programcreek.com/2013/02/java-design-pattern-factory/

© 著作权归作者所有

共有 人打赏支持
奋斗到天明
粉丝 18
博文 112
码字总数 82707
作品 0
昌平
程序员
私信 提问
javascript 设计模式之工厂(Factory)模式

工厂模式介绍 工厂模式是一个创建型的模式,主要就是创建对象。其中工厂模式又分为简单工厂模式和抽象工厂模式。简单工厂模式是通过工厂方法确定创建 对应类型的对象。抽象工厂模式是通过子类...

hlxiong
2014/04/14
0
0
JavaScript设计模式入坑

JavaScript设计模式入坑 介绍 设计模式编写易于维护的代码。 设计模式的开创者是一位土木工程师。Σ( ° △ °|||)︴,写代码就是盖房子。 模式 模式一种可以复用的解决方案。解决软件设计中...

小小小8021
10/18
0
0
JAVA基础再回首(二十六)——面向对象思想设计原则、设计模式、简单工厂模式、工厂方法模式、单例设计模式之饿汉式和懒汉式、Runtime类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52717096 JAVA基础再回首(二十六)——面向对象思想设计原则、设计模式、简单工厂模...

Aduroidpc
2016/10/01
0
0
JavaScript常用设计模式

设计模式 设计模式是一种在长时间的经验与错误中总结出来可服用的解决方案。 设计模式主要分为3类: 创建型设计模式:专注于处理对象的创建 Constructor构造器模式,Factory工厂模式,Singl...

a独家记忆
07/13
0
0
java设计模式-- 单例模式

在很久之前,也就是在大二暑假的时候,那时候看马士兵的视频教程中有提到很多的设计模式。 java的设计模式大致可以分为3大类,23种设计模式。 其中,创建型模式有5种:单例模式、建造者模式、...

爱学习的逃课君
2014/11/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vavr User Guide中英对照版

Vavr User Guide(Vavr用户指南) Daniel Dietrich, Robert Winkler - Version 0.9.2,2018-10-01 0. Vavr Vavr是Java 8 的对象函数式扩展,目标是减少代码行数,提高代码质量,提供了持久化集合...

白石
15分钟前
0
0
Spark2.40 Streaming编程指南

Spark Streaming编程指南 概观 一个快速的例子 基本概念 链接 初始化StreamingContext 离散流(DStreams) 输入DStreams和Receivers DStreams的转换 DStreams的输出操作 DataFrame和SQL操作 ...

天天爬网
16分钟前
0
0
oozie 调度pyspark

http://www.learn4master.com/big-data/pyspark/run-pyspark-on-oozie

MPRO
19分钟前
0
0
转:文件系统read,write缓存,有点意思

当我们在linux系统下写程序的时候,经常会读文件或者写文件,既然要操作文件,就会用文件操作函数,其中涉及读写的不乏有read/write或者fread/fwrite,但是我们应该选择哪一种呢,少安毋躁,...

臧教授
24分钟前
0
0
通过示例学习Javascript闭包

译者按: 在上一篇博客,我们通过实现一个计数器,了解了如何使用闭包(Closure),这篇博客将提供一些代码示例,帮助大家理解闭包。 原文: JavaScript Closures for Dummies 译者: Fundebug 为...

Fundebug
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部