关于golang设计模式之创建者模式的一些问题

13268609770 · 2022-01-09 14:07:57 · 1107 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2022-01-09 14:07:57 的主题,其中的信息可能已经有所发展或是发生改变。

这是github上的一个案例:https://github.com/ssbandjl/golang-design-pattern/tree/master/06_builder
这个案例讲解了创建者模式的结构与实现,分别是:
  • 产品角色(Product):它是包含多个组成部件的复杂对象,由具体建造者来创建其各个零部件。
  • 抽象建造者(Builder):它是一个包含创建产品各个子部件的抽象方法的接口,通常还包含一个返回复杂产品的方法 getResult()。
  • 具体建造者(Concrete Builder):实现 Builder 接口,完成复杂产品的各个部件的具体创建方法。
  • 指挥者(Director):它调用建造者对象中的部件构造与装配方法完成复杂对象的创建,在指挥者中不涉及具体产品的信息。
同时还提供了一个简单案例,这个案例挺简单的,很好区分结构,但不知道谁是产品角色。

image.png


这是github上的一个案例二:https://github.com/lee820/design-pattern-go/tree/master/04_BuilderPattern

案例中模拟了点餐系统来完成创建者模式。

我根据他的这个案例画了个流程图,但我是还是不清楚这个案例哪些部分是产品角色,哪些是抽象建造者,哪些是具体建造者,哪些是指挥者,有大神能讲解下吗。

image.png


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1107 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传