适用场景
在以下情况下可以使用简单工厂模式:
1、工厂类负责创建的对象比较少:由于创建的对象较少,不会造成工厂方法中的业务逻辑太过复杂。
2、客户端只知道传入工厂类的参数,对于如何创建对象不关心:客户端既不需要关心创建细节,甚至连类名都不需要记住,只需要知道类型所对应的参数。
public abstract class Car {
void drive(){}
}
public class Benz extends Car {
@Override
void drive() {
System.out.println("开奔驰");
}
}
public class Bwm extends Car {
@Override
void drive() {
System.out.println("开宝马");
}
}
public class CarFactory {
public static Car buildCar(String car) throws Exception {
if ("baoma".equals(car)){
return new Bwm();
}
if ("benchi".equals(car)){
return new Benz();
}else {
throw new Exception("参数异常");
}
}
}
public class Test {
public static void main(String[] args) throws Exception {
Car car = CarFactory.buildCar("baom");
car.drive();
}
}
网友评论