工厂方法模式分析UML 图
时间: 2024-02-06 10:06:59 浏览: 38
工厂方法模式是一种创建型设计模式,它定义了一个创建对象的抽象方法,由子类决定要实例化的类。工厂方法模式将对象的实例化推迟到子类。
下面是工厂方法模式的UML图示:
```
+--+ +--+
| Creator | | Product |
+--+ +--+
| | | |
| +factoryMethod() |<-->| |
| | | |
+--+ +--+
▲ ▲
| |
| |
+--+ +--+
| ConcreteCreator1| | ConcreteProduct1|
+--+ +--+
| | | |
| +factoryMethod() | | |
| | | |
+--+ +--+
▲ ▲
| |
| |
+--+ +--+
| ConcreteCreator2| | ConcreteProduct2|
+--+ +--+
| | | |
| +factoryMethod() | | |
| | | |
+--+ +--+
```
在上面的UML图中,有以下几个角色:
- Creator(创建者):抽象类或接口,声明了一个工厂方法,该方法返回一个Product对象。
- ConcreteCreator(具体创建者):继承或实现Creator,实现工厂方法,返回具体的Product对象。
- Product(产品):抽象类或接口,定义了具体产品的共同属性和方法。
- ConcreteProduct(具体产品):继承或实现Product,实现具体产品的属性和方法。
工厂方法模式的核心思想是将对象的创建延迟到子类,这样可以在不修改现有代码的情况下引入新的产品类型。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)