建造者模式(Builder)
定义:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,同时可以分步的构造每一部分。
例:
public class Person { private int id; private int age; private String mobile; private String name; private String address; public Person(Builder builder) { this.id = builder.id; this.age = builder.age; this.mobile = builder.mobile; this.name = builder.name; this.address = builder.address; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } static class Builder { private int id; private int age; private String mobile; private String name; private String address; public Builder setId(int id) { this.id = id; return this; } public Builder setAge(int age) { this.age = age; return this; } public Builder setMobile(String mobile) { this.mobile = mobile; return this; } public Builder setName(String name) { this.name = name; return this; } public Builder setAddress(String address) { this.address = address; return this; } public Person build() { return new Person(this); } } }
使用:
Person person = new Person.Builder().setId(1001) .setAge(18).setMobile("13838383838").setName("Miya") .setAddress("深圳").build();