讲故事,学(Java)设计模式—抽象工厂模式
讲故事,学(Java)设计模式—抽象工厂模式
分享到:
本文由 ImportNew - 汤米猫 翻译自 programcreek。如需转载本文,请先参见文章末尾处的转载要求。
抽象工厂模式是在工厂模式的基础上增加的一层抽象概念。如果比较抽象工厂模式和工厂模式,我们不难发现前者只是增加了一层抽象的概念。抽象工厂是一个父类工厂,可以创建其它工厂类。故我们也叫它“工厂的工厂”。
1、抽象工厂类图
2、抽象工厂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; // 基于特定要求 if (sys == 0) return new AMDFactory(); else return new IntelFactory(); } }
3、实例
在当今的架构中,抽象工厂是一个非常重要的概念。这里是关于它的一个例题。
-- 扫描加关注,微信号: importnew --原文链接: programcreek 翻译: ImportNew.com - 汤米猫
译文链接: http://www.importnew.com/6914.html
[ 转载请保留原文出处、译者、译文链接和上面的微信二维码图片。]
相关文章
- 讲故事,学(Java)设计模式—适配器模式
- 讲故事,学(Java)设计模式—桥接模式
- 讲故事,学(Java)设计模式—原型模式
- 讲故事,学(Java)设计模式—建造者模式
- 讲故事,学(Java)设计模式—单例模式
- 讲故事,学(Java)设计模式—工厂模式
- 单例模式中为什么用枚举更好
- Java程序员应该知道的10个面向对象理论
- 真的吗?Java开发者喜欢编写非Java程序
- 5本最佳的Java面向对象理论和设计模式的书籍
汤米猫
- 没有评论
- 汤米猫
- 2013 年 11 月 10 日
- 基础技术
- Java, 设计模式
发表评论 取消回复
-
近期热评文章
- 常见Java面试题 – 第一部分:非可变性(Immutabili…
- 真的吗?Java开发者喜欢编写非Java程序…
- 阻塞队列实现生产者消费者模式…
- 快到极致的Android模拟器——Genymotion…
- Java方法参数太多怎么办—Part 1—自定义类型…
- 为什么存储密码字符数组比字符串更合适?…
- JDBC批处理Select语句
- 深入解析Android关机
- 避免代码冗余,使用接口和泛型重构Java代码…
- 讲故事,学(Java)设计模式—单例模式…
最新评论
- zhangjg 发表在《常见Java面试题 – 第一部分:非可变性(Immutability)和对象引用(Object reference)》
- minjack 发表在《避免代码冗余,使用接口和泛型重构Java代码》
- aa 发表在《讲故事,学(Java)设计模式—单例模式》
- 刘志军 发表在《常见Java面试题 – 第一部分:非可变性(Immutability)和对象引用(Object reference)》
- zhangjg 发表在《常见Java面试题 – 第一部分:非可变性(Immutability)和对象引用(Object reference)》
- 黄华仔 发表在《阻塞队列实现生产者消费者模式》
- 李朝 发表在《阻塞队列实现生产者消费者模式》
- shellvon 发表在《Java方法参数太多怎么办—Part3—Builder模式》
- java 发表在《真的吗?Java开发者喜欢编写非Java程序》
- java 发表在《真的吗?Java开发者喜欢编写非Java程序》