设计模式——生成器Builder模式

定义

将一个复杂的对象,分成多分,使同样的构建过程,能有不同的表示,这样的设计模式被称为建造者模式。

参与者

Builder
为创建一个Product对象的各个部件指定抽象接口,稳定某一过程
ConcreteBuilder
实现Builder的接口以构造和装配该产品的各个部件
定义并明确它所创建的表示
提供一个检索产品的接口
Director
构造一个使用Builder接口的对象
Product
表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定义它的装配过程。
包含定义组成部件的类,包括将这些部件装配成最终产品的接口。

适用性

  • 当创建复杂对象的算法应该独立于该对象的组成部分时。
  • 构造过程必须允许被构造的对象有不同的表示时。
  • 创建一些复杂对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。

效果

  • 建造模式的使用使得产品的内部表象可以独立的变化。使用建造者模式可以使客户端不必知道产品内部组成的细节。
  • 每个特定的建造者都独立于其它建造者和程序的其余部分,这提高拉模块化程度,并使得添加其建造者变的灵活简单。
  • 因为每一个建造者都是根据数据来逐步构造出最终的产品的,因此对建造者构造的每个最终产品从头到尾有更好的控制能力。

模板代码

 

实例代码

 

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注