Update 04.BuilderPattern.md

master
Qiangguo Feng 2021-09-19 04:50:10 +08:00 committed by GitHub
parent b6feae9013
commit bcb4a39371
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 4 deletions

View File

@ -24,11 +24,13 @@ Jungle活了这20多年全靠这个笑话活着 把大象装冰箱竟然
- **产品Product**:具体的产品对象
- **指挥者Director** 构建一个使用Builder接口的对象安排复杂对象的构建过程**客户端一般只需要与Director交互指定建造者类型然后通过构造函数或者setter方法将具体建造者对象传入Director**。它主要作用是:隔离客户与对象的生产过程,并负责控制产品对象的生产过程。
建造者模式UML类图如下
建造者模式UML类图如下
![avatar](https://github.com/FengJungle/DesignPattern/blob/master/04.BuilderPattern/1.Picture/%E5%BB%BA%E9%80%A0%E8%80%85%E6%A8%A1%E5%BC%8FUML%E5%9B%BE.png
## 3.建造者模式代码实例
考虑这样一个场景,如下图:
考虑这样一个场景,如下图:
![avatar](https://github.com/FengJungle/DesignPattern/blob/master/04.BuilderPattern/1.Picture/%E5%BB%BA%E9%80%A0%E8%80%85%E6%A8%A1%E5%BC%8F%E5%AE%9E%E4%BE%8B%E5%9B%BE.png
```
Jungle想要建造一栋简易的房子地板、墙和天花板两个工程师带着各自的方案找上门来直接给Jungle看方案和效果图。
犹豫再三Jungle最终选定了一位工程师……交房之日Jungle满意的看着建好的房子
@ -36,7 +38,8 @@ Jungle想要建造一栋简易的房子地板、墙和天花板两个
工程师笑着说“It's none of your business”
```
UML图如下
UML图如下
![avatar](https://github.com/FengJungle/DesignPattern/blob/master/04.BuilderPattern/1.Picture/%E5%BB%BA%E9%80%A0%E8%80%85%E6%A8%A1%E5%BC%8FUML%E5%AE%9E%E4%BE%8B%E5%9B%BE.png
### 3.1.定义产品类House
```
@ -224,4 +227,4 @@ Roof:Roof_B
- 需要生成的产品对象有复杂的内部结构(通常包含多个成员变量);
- 产品对象内部属性有一定的生成顺序;
- 同一个创建流程适用于多种不同的产品。
- 同一个创建流程适用于多种不同的产品。