类图
代码
车类
1 | class Car{ |
建造接口
1 | interface Builder{ |
奥迪建造工艺
1 | class AudiBuilder implements Builder{ |
宝马建造工艺
1 | class BMWBuilder implements Builder{ |
造车工厂
1 | class CarFactory{ |
测试类
1 | public class Client { |
总结
概述
车 -> Product
AudiBuilder,BMWBuilder -> ConcreteBuilder
CarFactory -> Director
造车工厂因为是流水线作业,有固定的零件制造顺序
不同厂商的制造工艺决定了其产出零件的特性
优点
将对象的创建过程和对象本身相互隔离,使得细节依赖于抽象,符合依赖倒置原则
缺点
产品组成属性必须相对固定,如有变化将改变所有建造者实现,违反开闭原则