《简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例》
so easy
工厂直接生产产品 就是这么简单,图就不画了,直接上代码.
算了 还是画吧
代码
factory
public class CarFactory {
/**
* 根据品牌生产汽车
*
* @param carBrand 汽车品牌
* @return
*/
public static Car product(String carBrand) {
if ("jili".equals(carBrand)) {
return new JiliCar();
} else if ("qirui".equals(carBrand)) {
return new QiruiCar();
}
return null;
}
}
product
public interface Car {
public String getBrand();
}
public class JiliCar implements Car{
@Override
public String getBrand() {
return "吉利";
}
}
public class QiruiCar implements Car{
@Override
public String getBrand() {
return "奇瑞";
}
}
test
public class FactoryTest {
public static void main(String[] args) {
//先生产吉利
Car car = CarFactory.product("jili");
System.out.println(car.getBrand());
//先生产奇瑞
car = CarFactory.product("qirui");
System.out.println(car.getBrand());
}
}
result
吉利
奇瑞
重点在工厂类的静态方法,根据入参生产不同对象,工厂模式属于创建型模式.
如果理解不妥之处还请在下方留言