讲故事,学(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程序》