ps:在以下讲述工厂模式中,模仿的场景如下:我们需要生产Car,建立相对应的CarFactory。使用CarFactory工厂来生产Car,并且可以在生产过程中进行一些处理。类图和代码如下。
1、MoveAble接口
public interface Moveable {
void go();
}
2、Car类
public class Car implements Moveable{
@Override
public void go() {
System.out.println("car is running....");
}
}
3、CarFactory类
public class CarFactory {
public static final CarFactory CAR_FACTORY = new CarFactory();
private CarFactory(){}
public Car createCar(){
//创建Car之前可以插入一些操作
System.out.println("a car created!");
return new Car();
}
}
4、Main类
public class Main {
public static void main(String[] args) {
CarFactory carFactory = CarFactory.CAR_FACTORY;
Car car = carFactory.createCar();
car.go();
}
}
总结:使用工厂模式,相比于简单工厂模式来说,易于扩展。我们只需要创建需要生产对象的工厂类即可。