1. 对比
对比简单工厂模式,修复了添加产品要修改工厂的问题
2. 具体实现
每个车都有一个工厂,要添加车就可以直接添加一个该车的工厂
public class BaoMa implements Car {@Overridepublic void say() {System.out.println("BaMa");}}public class BaoMaFactory implements CarFactory {@Overridepublic Car getCar() {return new BaoMa();}}public class TSL implements Car {@Overridepublic void say() {System.out.println("我是TSL");}}public class TSLFactory implements CarFactory{@Overridepublic Car getCar() {return new TSL();}}public interface CarFactory {Car getCar();}public class GetCar {public static void main(String[] args) {BaoMaFactory baoMaFactory = new BaoMaFactory();Car car = baoMaFactory.getCar();car.say();//BaMa}}
可以看到用户需要什么车就直接创造什么工厂,不需要再修改工厂方法。
