1.如同AlertDialog.Builder
public class User {
String userName,age,number;
public static final class UserBuilder {
String userName,age,number;
private UserBuilder() {
}
public static UserBuilder anUser() {
return new UserBuilder();
}
public UserBuilder withUserName(String userName) {
this.userName = userName; return this;
}
public UserBuilder withAge(String age) {
this.age = age; return this;
}
public UserBuilder withNumber(String number) {
this.number = number; return this;
}
public User build() {
User user = new User();
user.userName = this.userName;
user.age = this.age;
user.number = this.number; return user; }
}
}
2.测试类
public class Test {
public static void main(String[] args) {
User mUser =User.UserBuilder.anUser().withAge("age").withNumber("withNumber").withUserName("withUserName").build();
System.out.println(mUser.toString());
}
}
3.第三方插件
plugins搜Builder
![](https://img.haomeiwen.com/i12089562/7ce7e68c2ff7e4dc.png)
4.优缺点
优点:在使用builder的时候,让设置每个属性之后返回他自己本身,这样子可以采用链接的变成风格,使用起来更加方便快捷。
缺点:在使用构建器的时候,必须利用另外一个类来实例化另外一个类,这样子会使创建的时候创建更多的对象。这样子会损耗一定的性能...不过带来的好处是非常明显的。因为使用builder模式,每次设置属性的时候,都是具名的方法操作,是开发人员更容易使用,并且不需要给宿主类增加相应的setXxx方法,这样子,这个宿主类在创建之后是不可以修改的,在一些安全模式比较高的程序中,这点也是很重要的
网友评论