分享

java中的builder模式

 孤独一兵 2016-10-15

java中的builder模式

前言:

new一个对象通常会在构造方法中进行传参,但当参数很多时我们就要写很多种不同形式的构造函数,这无疑是枯燥低效的,此时用builder模式就可以解决这个问题。

使用场景:当构造函数的参数大于等于三个时就建议用builder模式,以便灵活的传参。

直接上demo:

public class People{

private int age;

private int heigh;

private String name;

private String sex;

//getter和setter方法就不写了

public setter().....

public getter().....

public static class Builder {

private int age = 0;

private int heigh= 0;

private String name = null;

private String sex = null;

// 构建的步骤

public Builder(String name) {

this.name = name;

}

public Builder age(int val) {

age = val;

return this;

}

public Builder heigh(int val) {

heigh= val;

return this;

}

public Builder sex(String val) {

sex= val;

return this;

}

public People build() { // 构建,返回一个新对象

return new People(this);

}

}

//构造方法私有化。

private People(Builder b) {

age = b.age;

heigh= b.heigh;

name = b.name;

sex= b.sex;

}

}

最终,客户程序可以很灵活的去构建这个对象。

People vPeople = new People.Builder('张三')

.age(10)

.sex('beijing').build();

这样我们想传几个参数就传几个参数,不用创建那么多无用的构造函数,也不用传值的时候传很多null,更加高效的进行开发。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多