参考:http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html
1.简单工厂模式
产品级抽象
//抽象产品类
public interface Cpu {
public void calculate();
}
//产品实现类:因特尔cpu
public class IntelCpu implements Cpu {
private int pins = 0;
public IntelCpu(int pins){
this.pins = pins;
}
@Override
public void calculate() {
// TODO Auto-generated method stub
System.out.println("Intel CPU的针脚数:" + pins);
}
}
//产品实现类:AMDcpu
public class AmdCpu implements Cpu {
private int pins = 0;
public AmdCpu(int pins){
this.pins = pins;
}
@Override
public void calculate() {
// TODO Auto-generated method stub
System.out.println("AMD CPU的针脚数:" + pins);
}
}
//cpu工厂类
public class CpuFactory {
public static Cpu createCpu(int type){
Cpu cpu = null;
if(type == 1){
cpu = new IntelCpu(755);
}else if(type == 2){
cpu = new AmdCpu(938);
}
return cpu;
}
}
2.抽象工厂模式
工厂级抽象
//抽象工厂
public interface AbstractFactory {
/**
* 创建CPU对象
* @return CPU对象
*/
public Cpu createCpu();
}
//因特尔的工厂
public class IntelFactory implements AbstractFactory {
@Override
public Cpu createCpu() {
// TODO Auto-generated method stub
return new IntelCpu(755);
}
}
//AMD的工厂
public class AmdFactory implements AbstractFactory {
@Override
public Cpu createCpu() {
// TODO Auto-generated method stub
return new IntelCpu(938);
}
}