建造者模式(Builder Pattern)
Java建造者模式(Builder Pattern)是一种创建型设计模式,它通过将一个复杂的对象的创建过程分解成多个简单的步骤,并将这些步骤封装到一个Builder对象中,从而可以灵活地创建不同的对象 使用场景
-
当需要创建复杂的对象,并且对象的构建过程包含多个步骤时,可以使用建造者模式
-
当需要创建不同配置的对象时,可以使用建造者模式。
-
当需要创建可变的对象时,可以使用建造者模式。
代码实现
public class User {
private String name;
private String email;
private int age;
private User(Builder builder) {
this.name = builder.name;
this.email = builder.email;
this.age = builder.age;
}
public static class Builder {
private String name;
private String email;
private int age;
public Builder setName(String name) {
this.name = name;
return this;
}
public Builder setEmail(String email) {
this.email = email;
return this;
}
public Builder setAge(int age) {
this.age = age;
return this;
}
public User build() {
return new User(this);
}
}
}
建造者模式创建User对象
User user = new User.Builder()
.setName("John")
.setEmail("john@example.com")
.setAge(30)
.build();
使用小结
-
StringBuilder 类就是一个建造者模式的典型应用。它允许使用者逐步构建一个字符串,并最终返回构建好的字符串。
-
Guava 库是一个常用的Java库,其中的 ImmutableList.Builder 类也是一个典型的建造者模式应用。它允许使用者逐步构建一个不可变的列表,并最终返回构建好的列表。
总之,建造者模式在Java中的应用非常广泛,特别是在构建复杂对象时,它可以使构建过程更加灵活、可扩展和可维护。
评论( 0 )