建造者模式

  建造者模式是创建型设计模式中最容易理解、应用的一种设计模式。工厂模式与建造者模式创建出来的Bean实例有一定的特点,

工厂模式生产的Bean具有共同的特性,类似于产品;而建造者模式创建的Bean更多的是带有个人化定制的特点。

  下面是简单的一个建造者模式Demo:

先准备一个实体Bean:

public class Student {

    private String name;

    private Integer age;

    private String sex;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }
}

  接着创建一个StudentBuilder:

public class StudentBuilder {

    private Student student = new Student();

    public StudentBuilder setName(String name){
        this.student.setName(name);
        return this;
    }

    public StudentBuilder setAge(Integer age){
        this.student.setAge(age);
        return this;
    }

    public StudentBuilder setSex(String sex){
        this.student.setSex(sex);
        return this;
    }

    public Student build(){
        return student;
    }
}

  StudentBuilder类可以随意给即将生产的Student实例设置各种属性。

下面给出测试代码:

    @Test
    public void TestBuilder(){
        Student student = new StudentBuilder()
                .setName("huangzeng")
                .setAge(26)
                .setSex("男")
                .build();
        System.out.println(student);
    }

  执行结果如下:

Student{name='huangzeng', age=10, sex='男'}

 

posted @ 2019-12-12 21:54  寻找的路上  阅读(207)  评论(0编辑  收藏  举报