创建型模式之三:抽象工厂模式
创建型模式之三:抽象工厂模式
刀狂剑痴 发表于2年前
创建型模式之三:抽象工厂模式
  • 发表于 2年前
  • 阅读 17
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

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

抽象工厂类图

抽象工厂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/

标签: 设计模式
共有 人打赏支持
粉丝 18
博文 111
码字总数 82582
×
刀狂剑痴
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: