设计模式-创建型-简单工厂
小于 1 分钟
1、定义
简单工厂模式:一个工厂类根据传入参数决定创建哪一种产品实例
uml类图

2、例子
定义不同类型车
//定义车
public interface ICar {
void drive();
}
//吉普车
public class JeepCar implements ICar {
@Override
public void drive() {
System.out.println( "吉普车" );
}
}
//小轿车
public class SmallCar implements ICar {
@Override
public void drive() {
System.out.println( "小轿车" );
}
}
public class SportCar implements ICar {
@Override
public void drive() {
System.out.println( "运动车" );
}
}
简单工厂
//定义车类型
public enum CarType {
SPORT_CAR,
JEEP_CAR,
SMALL_CAR
}
//工厂
public class CarFactory {
public static ICar createCar(CarType type){
switch (type){
case SMALL_CAR:
return new SmallCar();
case JEEP_CAR:
return new JeepCar();
case SPORT_CAR:
return new SportCar();
default:
return new SmallCar();
}
}
}
/**
*
* 简单工厂
*
*/
public class TestMain {
public static void main(String[] args){
ICar smallCar = CarFactory.createCar( CarType.SMALL_CAR );
smallCar.drive();
ICar jeepCar = CarFactory.createCar( CarType.JEEP_CAR );
jeepCar.drive();
ICar sportCar = CarFactory.createCar( CarType.SPORT_CAR );
sportCar.drive();
}
}
代码示例
https://github.com/yinlingchaoliu/23-design-pattern