Java 设计模式

来源:互联网 发布:js设置button文字 编辑:程序博客网 时间:2024/06/09 16:55

基本概念

建造者模式的作用:

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

建造者模式的角色:

  • 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 0
原创粉丝点击