文章目录
- [1 概念](#1 概念)
- [2 使用方法](#2 使用方法)
-
-
-
- [1 创建步骤:](#1 创建步骤:)
- [2 使用步骤:](#2 使用步骤:)
-
-
- 参考
1 概念
builder模式又叫建造者模式
,属于创建型模式
作用:将一个复杂对象的构建与他的表示分离,可以一步一步构建对象,而不是使用构造函数构造一次性构造
通过一步步构造复杂对象,使得代码更加清晰,避免构造器中参数过多导致代码的可读性和易用性变差
2 使用方法
1 创建步骤:
java
User user = User.builder().property(property).build();
- 创建静态内部类Builder,并创建静态方法builder
- 实现私有构造方法,并使用Builder作为参数
- 静态内部类使用属性名作为方法名,并传入属性
- 静态内部类实现build方法,返回创建的对象
2 使用步骤:
- 外部使用
.builder
获取Builder - 使用
.property(property)
及进行赋值 - 调用
.build
构建并返回类对象
Demo:
java
public class User{
private int id;
private String name;
private int age;
// 1 构建匿名内部类, 属性与User类属性一直
public static class Builder {
private int id;
private String name;
private int age;
public Builder id(int id) {
this.id = id;
return this;
}
public Builder name(String name) {
this.name = name;
return this;
}
public Builder age(int age) {
this.age = age;
return this;
}
// 4 最终构建返回
public User build() {
return new User(this);
}
}
// 2 创建静态builder方法,返回Builder类进行构造
public static Builder builder() {
return new Builder();
}
// 3 构造私有构造方法,将Builder中的属性进行赋值
private User(Builder builder) {
this.id = builder.id;
this.name = builder.name;
this.age = builder.age;
}
}
参考
Builder模式 Java Builder 模式 https://blog.csdn.net/HaHa_Sir/article/details/120105014