一、创建者模式介绍

创建者设计模式(Builder Design Pattern)是针对对象构建复杂的设计模式。

单纯从对象的构建来说,和 工厂模式 类似,工厂模式也是用来构建复杂易变对象的设计模式,区别在于 工厂模式 关注的一类相似的对象集合的构建,而创建者模式关注的是某一个对象的构建

创建者模式适合以下几种场景:

1、对象构建复杂,包括构造函数复杂,属性 set 操作复杂(含有大量判断)
2、对象的构建具有流程性,比如:存在三个属性,三个属性都需要有值对象的构建才算成功。

二、创建者模式模板(使用套路)

模拟一个火箭创建的案例,一架火箭需要起飞需要有四部分:头,中,尾 和燃料。

首先先来看一下,需要构建的火箭对象

[设计模式]-[创建型]-创建者-介绍 - 图1

在不使用设计模式时,我们构建对象是通过 构造函数 和 set 函数,如下:

[设计模式]-[创建型]-创建者-介绍 - 图2

当构造函数变得复杂,或者我们需要判断火箭中的所有属性,头、中、尾包括燃料都要有才能够进行对象的构建,这时候传统的对象构建方式就做不了,或者说,会使得整个对象构建变得更加的复杂,这时候使用创建者模式就能够很好的提供解决方案,

来看一下构建火箭对象的构造对象 Builder

[设计模式]-[创建型]-创建者-介绍 - 图3

如上述代码,通过 Builder 模式,能够分离复杂的 set操作,同时对象最终的构建需要通过 Builder#build()方法进行构建,该方法能够提供构造时的流程性判断,对对象是否能够构建成功进行流程判断。


【公众号】花好夜猿
wxlogo.jpg