使用场景:一类产品有多个具体的产品族
一, 简单工厂模式
又称静态工厂方法模式
-
工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑,用来创建产品
public class Factory { public static final int BUS = 1; public static final int BICYCLE = 2; // public Car createCar(int t) { Car c = null; switch (t) { case BUS: c = new Bus(); break; case BICYCLE: c = new Bicycle(); break; default: break; } return c; } }
二,工厂方法模式
public interface MethodFactory {
Car createCar();
}
三,抽象工厂模式
1,抽象工厂
public interface AbsFactory {
//创建发动机
Engine createEngine();
//创建空调
Aircondition createAircondition();
}
2,真正的工厂
public class BicycleFactory implements MyAbsMethodFactory {
@Override
public Car createCar() {
return new Bicycle();
}
}