05.创建型 - 简单工厂模式(Simple Factory Pattern)

简单工厂模式(Simple Factory Pattern)

定义一个工厂类,根据传入的参数不同返回不同的实例,被创建的实例具有共同的父类或接口。

适用场景:
  (1)需要创建的对象较少。
  (2)客户端不关心对象的创建过程。
  
例: 你需要一辆汽车, 可以直接从工厂里面提货, 而不用去管这辆汽车是怎么做出来的, 以及这个汽车里面的具体实现;

它有两个关键角色组成

1.需要特定对象的实例: '汽车'

/**
* 汽车接口
*/
public interface Car {
    void draw();
}
/**
* 红色汽车实现
*/
public static class RedCar implements Car {
    @Override
    public void draw() {
        System.out.println(" RedCar::draw() method.");
    }
}
/**
* 蓝色汽车实现
*/
public static class BlueCar implements Car {
    @Override
    public void draw() {
        System.out.println(" BlueCar::draw() method.");
    }
}

2.创建汽车的工厂

/**
* 汽车工厂对象
*/
public static class CarFactory {
    //使用 get 方法获取不同颜色的汽车
   public Car get(String type){
        if(type == null){
            return null;
        }
        if(type.equalsIgnoreCase("RED")){
            return new BlueCar();
        } else if(type.equalsIgnoreCase("BLUE")){
            return new RedCar();
        }
        return null;
    }
}

3.测试

public static void main(String[] args) {
    CarFactory shapeFactory = new CarFactory();
    Car rc = shapeFactory.get("RED");
    rc.draw();

    Car bc = shapeFactory.get("BLUE");
    bc.draw();
}

in short 简单的不像是设计模式,说它是一种设计模式更像是一种代码习惯

posted @ 2025-11-12 21:53  daidaidaiyu  阅读(12)  评论(0)    收藏  举报