设计模式(3) –建造者模式(Builder)
建造者模式,也属于创建型模式。
建造者顾名思义就是一个产品(建筑)实现的经手人,他们经过一系列统一的操作去完成一个作品,完成一个什么样的产品和他的建造者密不可分。打个比方现在老李家现在有一块地可以用于建筑用地,可以用来盖个超市也可以用来建造一个别墅,老李的两个儿子都是建筑师,于是他叫来了两个儿子让他们各自设计一套从打地基到装修的完整的房子建造方案让他看看想采用谁的。
老李的儿子设计出的产品:
代码表现如下:
建造者模式通常用于一个比较复杂的类,为了将他解耦,我们将他分割成不同的模块来构成,通过相同的接口(打地基–>建房子 --> 装修)不同实现方式来构建一个具有一般性的整体(房子)。当然例子比较简单,实际设计中我们可能会传入参数来表达需要什么样的砖块啊之类的来达到实际生产效果。
Builder模式和AbstractFactory模式在功能上很相似,因为都是用来创建大的复杂的对象,它们的区别是:Builder模式强调的是一步步创建对象,并通过相同的创建过程可以获得不同的结果对象,一般来说Builder模式中对象不是直接返回的。而在AbstractFactory模式中对象是直接返回的,AbstractFactory模式强调的是为创建多个相互依赖的对象提供一个同一的接口。
转载请注明来自:http://blog.csdn.net/zerolxl