##### **这是github上的一个案例:https://github.com/ssbandjl/golang-design-pattern/tree/master/06_builder**
##### **这个案例讲解了创建者模式的结构与实现,分别是:**
- **产品角色(Product):它是包含多个组成部件的复杂对象,由具体建造者来创建其各个零部件。**
- **抽象建造者(Builder):它是一个包含创建产品各个子部件的抽象方法的接口,通常还包含一个返回复杂产品的方法 getResult()。**
- **具体建造者(Concrete Builder):实现 Builder 接口,完成复杂产品的各个部件的具体创建方法。**
- **指挥者(Director):它调用建造者对象中的部件构造与装配方法完成复杂对象的创建,在指挥者中不涉及具体产品的信息。**
##### **同时还提供了一个简单案例,这个案例挺简单的,很好区分结构,但不知道谁是产品角色。**
![image.png](https://static.studygolang.com/220109/de89e78b4e706e12dc00307b98f9dfe8.png)
---------------------------------------------------------------------------------------------------------------------
### **这是github上的一个案例二:https://github.com/lee820/design-pattern-go/tree/master/04_BuilderPattern**
#### **案例中模拟了点餐系统来完成创建者模式。**
#### **我根据他的这个案例画了个流程图,但我是还是不清楚这个案例哪些部分是产品角色,哪些是抽象建造者,哪些是具体建造者,哪些是指挥者,有大神能讲解下吗。**
![image.png](https://static.studygolang.com/220109/ea95fae55d2c290321cff9b0103c8c1b.png)
有疑问加站长微信联系(非本文作者)