1、简单工厂 (产生所有对象)
public class Factory(){
public Factory(String flag){
if ("benz".equals(flag)){
return Benz();
}else if("bmw".equals(flag)){
return Bmw();
}
//其它对象......
}
}
2、工厂方法 (一个工厂生产一个类对象[一对一])
public interface ICarFactory{
public Car car();
}
//奔驰工厂-生成奔驰车
public class Benz implements ICarFactory{
public Car car(){
return new Benz();
}
}
//宝马工厂-生成宝马车
public class Bmw implements ICarFactory{
public Car car(){
return new Bmw();
}
//其它车工厂类......
3、抽象工厂 (一个工厂生产多个类对象[一对多])
//工厂生产车和引擎两大产品
public interface Factory{
public Car createCar();
public Engine createEngine();
}
//奔驰工厂
public class implements BenzFactory{
public Car createCar(){
return new Benz();
}
public Engine createEngine(){
return new BenzEngine();
}
}
//宝马工厂
public class implements BmwFactory{
public Car createCar(){
return new Bmw();
}
public Engine createEngine(){
return new BmwEngine();
}
}
//其它工厂......
总结
简单工厂、工厂方法、抽象工厂