Java 设计模式(四)-工厂方法模式 (FactoryMethod Pattern)

时间:2023-03-09 09:00:42
Java 设计模式(四)-工厂方法模式 (FactoryMethod Pattern)

1     概念定义

1.1   定义

定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

1.2   类型

创建类模式

2     原理特征

2.1   类图

Java 设计模式(四)-工厂方法模式 (FactoryMethod Pattern)

2.2   优点

1)封装性良好,代码结构清晰

2)可拓展性高,只需修改一下工厂方法或拓展一个工厂类

3)屏蔽产品类,调用者不需要关心产品类的变化

4)高度解耦,高层模块只需知道产品抽象类,无需关注实现

2.3   缺点

代码复杂度增加

3     .应用拓展

3.1   应用场景

1)      有一组类似的对象需要创建

2)      在编码时不能预见需要创建那种类的实例。

3)      系统需要考虑可拓展性,不应依赖于产品类实例如何被创建、组合和表达的细节。

4)      工厂方法可用于异构项目中

3.2   实践拓展

https://github.com/Devonmusa/java-demos/tree/master/src/main/java/com/designpattern/factorymethods

4     注意事项

1).工厂方法模式关注对象整体,不关注过程和细节