From bcb4a393711150134a7bd8dd693bcdacf241fcd0 Mon Sep 17 00:00:00 2001 From: Qiangguo Feng <32355651+FengJungle@users.noreply.github.com> Date: Sun, 19 Sep 2021 04:50:10 +0800 Subject: [PATCH] Update 04.BuilderPattern.md --- 04.BuilderPattern/04.BuilderPattern.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/04.BuilderPattern/04.BuilderPattern.md b/04.BuilderPattern/04.BuilderPattern.md index 209be91..6c69c86 100644 --- a/04.BuilderPattern/04.BuilderPattern.md +++ b/04.BuilderPattern/04.BuilderPattern.md @@ -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 - 需要生成的产品对象有复杂的内部结构(通常包含多个成员变量); - 产品对象内部属性有一定的生成顺序; -- 同一个创建流程适用于多种不同的产品。 \ No newline at end of file +- 同一个创建流程适用于多种不同的产品。