Java 设计模式 - 建造者模式
·
基本概念
建造者模式的作用:
- 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
建造者模式的角色:
Product,即产品,表示被建造的对象。该对象一定是个复杂对象,由各个部件组合而成。
Builder,即建造者接口,它的作用为创造产品的各个部件。
ConcreteBuilder,即具体的建造者,用于创建具体的产品部件。
Director,即指挥者,负责通过调用不同的建造者,建造并组装成不同的产品。
实例探究
Product,产品。表示人。
public class Person { private String head; private String body; private String foot; // 省略 getter、setter }
Builder,建造者接口。这里用抽象类表示,表示创建一个人。
public abstract class PersonBulider { protected Person person = new Person(); abstract void bulidHead(); abstract void bulidBody(); abstract void bulidFoot(); Person builderPerson() { return person; } }
ConcreteBuilder,具体的建造者,表示创建一个男人。
public class ManBulider extends PersonBulider { @Override void bulidHead() { person.setHead("男人的头部"); } @Override void bulidBody() { person.setBody("男人的身体"); } @Override void bulidFoot() { person.setFoot("男人的脚部"); } }
Director,指挥者。表示指挥不同的建造者建造不同的产品。
public class PersonDirecter{ public Person AssemblePerson(PersonBulider builder){ builder.bulidHead(); builder.bulidBody(); builder.bulidFoot(); return builder.builderPerson(); } }
具体调用如下:
PersonDirecter directer = new PersonDirecter(); Person person = directer.AssemblePerson(new ManBuilder());
更多推荐
所有评论(0)