首页 > 编程 > Java > 正文

Java 设计模式 - 建造者模式

2019-11-06 07:44:20
字体:
来源:转载
供稿:网友

基本概念

建造者模式的作用:

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

建造者模式的角色:

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());
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表