(一) 设计模式之建造者模式
解决什么问题
一个对象的属性过多时,创建对象在代码中大量冗余,可能会在代码中去写很多构造函数,造成代码阅读上困难。
具体的实现
Java 可以使用 lombok 提供的 @Builder 注解 来实现构建者模式
手动写建造者模式
/**
* 内部创建静态类类实现
*/
public class Person {
private String name;
private int age;
private String gender;
private String address;
public static class PersonBuilder {
private String name;
private int age;
private String gender;
private String address;
public PersonBuilder() {
}
public PersonBuilder setName(String name) {
this.name = name;
return this;
}
public PersonBuilder setAge(int age) {
this.age = age;
return this;
}
public PersonBuilder setGender(String gender) {
this.gender = gender;
return this;
}
public PersonBuilder setAddress(String address) {
this.address = address;
return this;
}
public Person build() {
return new Person(name, age, gender, address);
}
}
private Person(String name, int age, String gender, String address) {
this.name = name;
this.age = age;
this.gender = gender;
this.address = address;
}
}