建造者模式
建造者模式是创建型设计模式中最容易理解、应用的一种设计模式。工厂模式与建造者模式创建出来的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='男'}