工厂方法设计模式
概述
- “工厂方法模式” 是对简单工厂模式的进一步抽象化
- 其好处是可以使系统在不修改原来代码的情况下引进新的产品,即满足开闭原则
实现过程
定义接口与实现类
创建工厂
使用
优缺点
优点
- 用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程
- 灵活性增强,对于新产品的创建,只需多写一个相应的工厂类
- 典型的
解耦
框架。高层模块只需要知道产品的抽象类,无须关心其他实现类,满足迪米特法则、依赖倒置原则和里氏替换原则
缺点
- 类的个数容易过多,增加复杂度
- 增加了系统的抽象性和理解难度
- 抽象产品只能生产一种产品,此弊端可使用抽象工厂模式解决
UML 图
在 JDK 源码中的应用
- URLStreamHandlerFactory
- Log