您的位置:首页 > 编程语言 > Java开发

[译]Java 设计模式之抽象工厂

2015-01-10 12:46 351 查看
(文章翻译自Java Design Pattern: Abstract Factory)

抽象工厂模式针对工厂模式增加了抽象层。如果我们使用抽象工厂模式和工厂模式比较的话,很明显抽象工厂模式增加了一个新的抽象层。抽象工厂是一个创建了其他的工厂的超级工厂。我们可以称之为工厂的工厂。

抽象工厂类图



抽象工厂模式代码

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();
}
}

实际中使用的例子

实际上,这个是现在的框架中很重要的内容。这就是关于的一个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: