构建模式
什么是构建模式
将一复杂对象的构建过程和它的表现分离,使得同样的构建过程可以获取不同的表现
设计思想
将产品的创建过程与产品本身分离开来,使得创建过程更加清晰,能够更加精确地控制复杂对象的创建过程,让使用者可以用相同的创建过程创建不同的产品
与工厂模式的区别
工厂模式关注的是整个产品(对象)的生成,即成品的生成;而构建模式关注的是产品的创建过程和细节,一步一步地由各个子部件构建为一个成品
与组合模式的区别
区别:
组合模式关注的是对象内部的组成结构,强调的是部分与整体的关系。构建模式关注的是对象的创建过程,即由一个个的子部件构建一个成品的过程
联系:
组合模式和构建模式经常被一起使用
设计要点
- 产品:你要构建的对象
- 构建者:构建模式的核心类,负责产品的构建过程
- 指挥者:构建的管理类,负责管理每一种产品的创建数量和创建顺序
优缺点
优点:
- 将产品的创建过程与产品本身分离开来,让使用方可以用相同的创建过程创建不同的产品
- 将对象的创建过程单独分解出来,使得创建过程更加清晰,能够更加精确地控制复杂对象地创建过程
- 针对升级版地构建模式,每一个具体构建者都相对独立,而与其他地具体构建者无关,因此可以很方便地替换具体构建者或增加新的具体构建者
缺点: - 增加了很多创建类,如果产品地类型和种类比较多,将会增加很多类,使得整个系统变得更加庞杂
- 产品之间地结构相差很大时,构建模式将很难适应
应用场景
- 产品的创建过程比较复杂,希望将产品地创建过程和它本身地功能分离开来
- 产品有很多种类,每个种类之间内部结构比较类似,但有很多差异;不同地创建顺序或不同地组合方式,将创建不同地产品