建造者模式
2019-09-23 本文已影响0人
TZX_0710
使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式
应用场景:一些基本属性不变,在基础属性上再添加其他属性。
举例:我们现在有一个用户,属性参数为id,name,pwd,这些为基本参数,但是我们还有一个电话号码的属性,但是这个电话号码属性可能并不是必须的。(举例太过浮夸,勿喷)
public class Users {
private int id;
private String username;
private String pwd;
private String phone;
//建立一个构造器
static class BuilderUser{
private int id;
private String username;
private String pwd;
private String phone;
public BuilderUser(int id,String username,String pwd){
this.id=id;
this.username=username;
this.pwd=pwd;
}
public BuilderUser phone(String phone){
this.phone=phone;
return this;
}
//创建builder方法
public Users builder(){
return new Users( this );
}
}
//创建构造函数
public Users(BuilderUser builderUser){
this.id=builderUser.id;
this.username=builderUser.username;
this.pwd=builderUser.pwd;
}
public static void main(String[] args) {
Users users=new BuilderUser( 1,"TG","pwd" ).phone( "135" ).builder();
}
}