一、创建者模式介绍
创建者设计模式(Builder Design Pattern)是针对对象构建复杂的设计模式。
单纯从对象的构建来说,和 工厂模式 类似,工厂模式也是用来构建复杂易变对象的设计模式,区别在于 工厂模式 关注的一类相似的对象集合的构建,而创建者模式关注的是某一个对象的构建。
创建者模式适合以下几种场景:
1、对象构建复杂,包括构造函数复杂,属性 set 操作复杂(含有大量判断)
2、对象的构建具有流程性,比如:存在三个属性,三个属性都需要有值对象的构建才算成功。
二、创建者模式模板(使用套路)
模拟一个火箭创建的案例,一架火箭需要起飞需要有四部分:头,中,尾 和燃料。
首先先来看一下,需要构建的火箭对象
在不使用设计模式时,我们构建对象是通过 构造函数 和 set 函数,如下:
当构造函数变得复杂,或者我们需要判断火箭中的所有属性,头、中、尾包括燃料都要有才能够进行对象的构建,这时候传统的对象构建方式就做不了,或者说,会使得整个对象构建变得更加的复杂,这时候使用创建者模式就能够很好的提供解决方案,
来看一下构建火箭对象的构造对象 Builder
如上述代码,通过 Builder 模式,能够分离复杂的 set操作,同时对象最终的构建需要通过 Builder#build()
方法进行构建,该方法能够提供构造时的流程性判断,对对象是否能够构建成功进行流程判断。
【公众号】花好夜猿