構(gòu)建者模式:主要用于對(duì)外提供統(tǒng)一的參數(shù)封裝逛绵。
案例:Request 參數(shù)封裝。
public class Request {
private String url;
private String method;
//私有化構(gòu)造函數(shù)
private Request(Builder builder) {
this.url = builder.url;
this.method = builder.method;
}
//提供靜態(tài)的Buidler構(gòu)建器封裝參數(shù)
public static Request.Builder builder() {
return new Builder();
}
@Override
public String toString() {
return "Request [url=" + url + ", method=" + method + "]";
}
//內(nèi)部創(chuàng)建Builder構(gòu)建器類倔韭,提供給外界設(shè)置參數(shù)
final static class Builder{
private String url;
private String method;
public Builder setUrl(String url) {
this.url = url;
return this;
}
public Builder setMethod(String method) {
this.method = method;
return this;
}
public Request build() {
return new Request(this);
}
}
//調(diào)用案例
public static void main(String[] args) {
Request request = Request.builder().
setMethod("POST")
.setUrl("http://baidu.com/")
.build();
System.out.println(request.toString());
}
}