设计模式之工厂模式(factory pattern)
核心本质:
- 实例化对象不使用new,用工厂方法代替。
- 将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。
1、简单工厂模式
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cb5c62a572881f4687d8f31b8215b9d8.png)
缺点:当新的产品,例如(CarC)就需要在CarFactory新建新的方法。不满足开闭原则(对修改关闭,对扩展开放)
2、工厂方法模式
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/85bd21cf46ff257c980884efa84ffaee.png)
可以理解为再加一层,将CarFactory使用抽象。缺点,使得代码量增加,一个商品需要有一个特定的工厂。
3、抽象工厂模式
定义:抽象工厂提供了一个创建一系列相关或者相互依赖对象的接口,无需指定它们具体的类。当只有一个产品体系的时候,退化为工厂模式。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e207410d0cad5b96a39bed612465a5d1.png)