介绍
封装复杂对象的创建过程
示例demo
背景:封装创建连接的过程
建造者:
public class ConnectionBuilder {
private String host;
private Integer port;
private ConnectionBuilder() {
}
public static ConnectionBuilder builder() {
return new ConnectionBuilder();
}
public ConnectionBuilder host(String host) {
this.host = host;
return this;
}
public ConnectionBuilder port(Integer port) {
this.port = port;
return this;
}
public Connection build() {
return new Connection(this.host, this.port);
}
}
连接对象:
@Data
@AllArgsConstructor
public class Connection implements Serializable {
private static final long serialVersionUID = 1976073680783798110L;
private String host;
private Integer port;
}
测试类:
public class BuilderTest {
@Test
public void builderTest() {
Connection connection = ConnectionBuilder.builder().host("127.0.0.1").port(8000).build();
System.out.println(connection);
}
}
运行结果: