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 类图:
感谢阅读
领取专属 10元无门槛券
私享最新 技术干货