首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

“补课”进行时:设计模式(4)——建造者模式

1. 前文汇总

2. 建造者模式定义

建造者模式(Builder Pattern)也叫做生成器模式,其定义如下:

Separate the construction of a complex object from its representation sothat the same construction process can create different representations.(将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。)

通用类图:

Product: 产品类,通常是实现了模板方法模式,也就是有模板方法和基本方法。

Builder: 抽象建造者,规范产品的组建,一般是由子类实现。

ConcreteBuilder: 具体建造者,实现抽象类定义的所有方法,并且返回一个组建好的对象。

Director: 导演类,负责安排已有模块的顺序,然后告诉 Builder 开始建造。

通用代码示例:

Product 产品类:

Builder 抽象建造者:

ConcreteBuilder 具体建造者:

Director 导演类:

3. 通过建造者模式造一辆共享单车

接下来使用建造者模式造一辆共享单车。

经历过共享单车大战之后,现在共享单车还在运营活着的也没几家了,在大街上比较常看到的有美团单车和哈罗单车,先创建一个抽象的产品类:

在这个产品类中,定义了三个零件和一个零件的制造顺序,在单车的生产方法中,通过循环制造顺序,可以制造的顺序进行控制。

接下来是两个具体的产品类:

接下来创建一个抽象的 Builder :

然后是两个具体的建造者:

最后是一个导演类:

然后写一个 Test 类进行一下测试:

运行结果是:

最后放一个这个示例的 UML 类图:

感谢阅读

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201027A02IR100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券