设计模式建造者模式

Posted Kant101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式建造者模式相关的知识,希望对你有一定的参考价值。

1. 概述

建造者模式将复杂产品的创建步骤分解在不同的方法中,使得创建过程更加清晰,从而更精确控制复杂对象的生产过程;

通过隔离复杂对象的构建与使用,也就是将产品的创建与产品本身分离开来,使得同样的构建过程可以创建不同的对象;

并且每个具体创建者都相互独立,因此可以很方便地替换具体建造者或增加新的具体建造者,用户使用不同的具体建造者即可得到不同的产品对象;

但建造者模式的缺陷是要求创建的产品具有较多的共同点、组成部分相似,如果产品之间的差异性很大,则不适合使用建造者模式。

同时,如果产品的内部变化复杂,可能会导致需要定义很多具体建造者者类来实现这种变化,导致系统变得很庞大。

 

2. UML图

  • 抽象建造者 Builder: 相当于建筑蓝图,声明了创建 Product 对象的各个部件指定的接口;
  • 具体建造者 ConcreteBuilder: 实现 Builder 抽象接口,构建和装配各个部件,定义并明确它所创建的过程,并提供一个检索产品的接口;
  • 指挥者 Director: 构建一个使用 Builder 接口的对象。主要有两个作用:一是隔离用户与对象的生产过程;二是负责控制产品对象的生产过程;
  • 产品角色 Product: 被构造的复杂对象。ConcreteBuilder 创建该产品的内部表示并定义它的装配过程,包含定义组成部件的类,包括将这些部件装配成最终产品的接口。

 

3. 代码与测试

 

参考文献

[1] https://blog.csdn.net/a745233700/article/details/83625236

以上是关于设计模式建造者模式的主要内容,如果未能解决你的问题,请参考以下文章

建造者模式

创建型模式(建造者模式)

建造者模式

建造者模式(Builder Pattern)

通过KFC例子分析建造者模式

设计模式之建造者模式(创建型)