文档章节

创建型模式之三:抽象工厂模式

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

阿里云携手百名商业领袖、技术大咖,带您一探行进中的数字新基建!>>>

抽象工厂模式在工厂模式上增加一层抽象。如果我们比对抽象工厂与工厂,就会十分明显地发现新增的那层抽象层,抽象工厂是一个创建其他工厂的超级工厂,我们可以称他为“工厂的工厂”

抽象工厂类图

抽象工厂Java代码

interface CPU {
 void process();
}
 
interface CPUFactory {
 CPU produceCPU();
}
 
class AMDFactory implements CPUFactory {
 public CPU produceCPU() {
 return new AMDCPU();
 }
}
 
class IntelFactory implements CPUFactory {
 public CPU produceCPU() {
 return new IntelCPU();
 }
}
 
class AMDCPU implements CPU {
 public void process() {
 System.out.println("AMD is processing...");
 }
}
 
class IntelCPU implements CPU {
 public void process() {
 System.out.println("Intel is processing...");
 }
}
 
class Computer {
 CPU cpu;
 
 public Computer(CPUFactory factory) {
 cpu = factory.produceCPU();
 cpu.process();
 }
}
 
public class Client {
 public static void main(String[] args) {
 new Computer(createSpecificFactory());
 }
 
 public static CPUFactory createSpecificFactory() {
 int sys = 0; // based on specific requirement
 if (sys == 0) 
 return new AMDFactory();
 else 
 return new IntelFactory();
 }
}

真实应用

实际上,抽象工厂是对于现代框架来说是一个重要的概念, 这里是一个关于他的问题。 以上文章翻译自: http://www.programcreek.com/2013/02/java-design-pattern-abstract-factory/

© 著作权归作者所有

奋斗到天明
粉丝 19
博文 112
码字总数 82707
作品 0
昌平
程序员
私信 提问
加载中

评论(0)

创建型设计模式对比总结 设计模式(八)

创建型模式是new 的一种替代方式,可以将对象的创建与具体的类型进行分离 目前已经介绍了5种创建型设计模式(如果简单工厂算一种的话,那就是6种) 分别是: 简单工厂模式、工厂方法模式、抽...

osc_ikbuen62
2018/11/22
4
0
工作流系统之三十二 设计模式在工作流系统开发中的运用

GoF四人组一共介绍了23种面向对象的设置模式,为每一种特定的实现取了一个名字,根据模式的应用目的不同,将他们分为3类,创建型、结构性和行为型。 面向对象设计三原则: 优先使用组合 针对...

长平狐
2012/10/11
203
0
对Design model的理解与Java design model的归纳

设计模式的起源是面向对象程序设计思想,是面向对象设计的精髓——抽象。面向对象通过类和对象来实现抽象,实现时产生了面向对象的三个重要机制:封装、继承、多态。正是这三个机制衍生出了各...

osc_uonv8t4g
2019/03/28
1
0
北风设计模式课程---策略模式和工厂模式的区别

北风设计模式课程---策略模式和工厂模式的区别 一、总结 一句话总结: 不仅要通过视频学,还要看别的博客里面的介绍,搜讲解,搜作用,搜实例 1、策略模式和工厂方法模式 相像 在哪? 都是多...

osc_gi8cj19l
2019/06/15
12
0
javascript 设计模式之工厂(Factory)模式

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

hlxiong
2014/04/14
393
0

没有更多内容

加载失败,请刷新页面

加载更多

如何找出Windows上正在侦听端口的进程? - How can you find out which process is listening on a port on Windows?

问题: 如何找出Windows上正在侦听端口的进程? 解决方案: 参考一: https://stackoom.com/question/CXO/如何找出Windows上正在侦听端口的进程 参考二: https://oldbug.net/q/CXO/How-can...

技术盛宴
54分钟前
10
0
OSChina 周三乱弹 —— 一家动物都快饿成标本了~

@黑觉非常君 :前天晚上9点开始睡觉,睡到昨天上午8点起床,昨天下午2点又睡,睡到下午7点多,晚上10点又困了,又睡,睡到今天上午8点,中途没醒过,怎么这么能睡,是不是快挂了。 能睡不是好...

小小编辑
今天
15
0
神剧推荐全剧最污片段精剪

神剧推荐,全剧最污片段精剪 豆瓣评分最高,脑洞最大,脑回路最曲折,恶搞无数经典,没有一条差评的神剧 整个系列完整版 到这里观看

a57571735
今天
22
0
pingan.

职位诱惑:金融,技术研发,技术攻关,大舞台大作为职位描述:职位诱惑:立志打造一支国内一流实盘量化交易框架开发团队职位描述:职位描述:负责实盘低时延量化交易框架及附属行...

MtrS
今天
15
0
SpaceX龙飞船上的宇航员进入国际空间站

  腾讯科技讯(乔辉)北京时间 6 月 1 日凌晨 1 点 23 分左右,搭乘 SpaceX 龙飞船的两位美国宇航员先后进入国际空间站,与等待在那里的宇航员会面。   两个多小时前,北京时间 5 月 31...

计算无敌
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部