建造者模式
GOF给建造者模式的定义是: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 来看看建造者模式的组成: 1.产品角色 :建造中的复杂对象、它要包含哪些定义组件的类,包括将这些组件装配成产品的接口。 2.抽象建造者角色 :这个角色用来规范产品对象的各个组成成分的建造。一般而言,此角色独立于应用程序的业务逻辑。 3.具体建造者角色 :担任这个角色的是与应用程序紧密相关的类,它们在指导者的调用下创建产品实例。这个角色在实现抽象角色提供的方法的前提下,达到完成产品组装,提供成品的功能。 4.指导者角色 :调用具体建造者角色以创建产品对象。指导者并没有产品类的具体知识,真正拥有产品类的具体知识是具体建造者对象。 来看看这些角色组成的类图: 建造者模式和工厂方法模式都是创建模式。下面通过代码来讲解来熟悉建造者模式: 产品角色: 1 package com.bluemsun.BuilderModel; 2 3 4 /** 5 * 产品类,一个Person的产品模型 6 * @author zhouxy 7 * 8 */ 9 public class PersonModel { 10 private Body body; 11 private Soul soul; 12 13 public Body getBody() { 14 return body; 15 } 16