package com.lonton.designpatterns;
interface CPU
{
void process();
}
interface CPUFactory
{
CPU produceCPU();
}
class AMDCPU implements CPU
{
@Override
public void process()
{
// TODO Auto-generated method stub
System.out.println("AMD CPU is processing...");
}
}
class IntelCPU implements CPU
{
@Override
public void process()
{
// TODO Auto-generated method stub
System.out.println("Intel CPU is processing...");
}
}
class AMDFactory implements CPUFactory
{
@Override
public CPU produceCPU()
{
// TODO Auto-generated method stub
return new AMDCPU();
}
}
class IntelFactory implements CPUFactory
{
@Override
public CPU produceCPU()
{
// TODO Auto-generated method stub
return new IntelCPU();
}
}
class Computer
{
public Computer(CPUFactory cpuFactory)
{
CPU cpu = cpuFactory.produceCPU();
cpu.process();
}
}
public class AbstractFactory
{
public static CPUFactory createCpuFactory(String platform)
{
CPUFactory factory = null;
if (platform == "AMD")
{
factory = new AMDFactory();
}
else if (platform == "Intel")
{
factory = new IntelFactory();
}
return factory;
}
public static void main(String[] args)
{
new Computer(AbstractFactory.createCpuFactory("Intel"));
}
}
Abstract 抽象工厂模式
最新推荐文章于 2024-09-29 10:55:16 发布