概念理解
- 定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
Director:指挥者,定义构建的算法和原则
Builder:抽象建造者,将负责对象构建进行抽象划分成不同细节构建的接口
ConcreteBuilder:具体建造者,实现细节构建
应用和优缺点
-
主要解决:
在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。 -
优点:
1、复杂对象构建过程进行解耦,扩展变的简单容易,层次更加清晰,降低系统耦合度
2、构建过程的解耦,对于高风险的对象更加容易控制细节风险。 -
缺点:
1、产品必须有共同点,范围有限制。
2、如内部变化复杂,会有很多的建造类。
三思而后行
- 注意事项:与工厂模式的区别是建造者模式更加关注与零件装配的顺序
网友评论