天天看点

设计模式——Builder模式Builder模式

将一个复杂对象的构建过程分离,使得同样的构建过程可以创建不同的结果。

相同的方法,不同的执行顺序,产生不同的结果

多个零件或者部件,可以组装到一个对象中,产生不同的结果

初始化过程比较复杂,参数较多

举一个例子,Android对话框,就是Builder模式,像这样:

本是一个相对复杂的对话框,通过链式编程构建出来。

我们假设组装一台宝马轿车,它有品牌、型号、颜色。

宝马车

下面是Builder类,用来描述构建一台车需要哪些方法

接下来来实现构建一台宝马车的Builder

这里的build方法都返回自身,用来链式调用。

下面来构建一台红色的3系宝马轿车

如果你还想给车子添加个HUD、换个真皮座椅,只需要在Builder里添加对用的方法,构建的时候设置属性就可以了。

Builder设计模式具有良好的封装性,构建者独立,方便扩展。

不足就是需要创建多个Builder。

继续阅读