Java (Builder 模式) 解决Contruct构造器中参数过长的问题

来源:互联网 发布:java多线程卖票 编辑:程序博客网 时间:2024/05/05 21:17

直接上代码,比较容易懂

Builder 模式

public class BeanContruct {/** * 必要参数 */private final Integer id;private final String name;/** * 可选参数 */private final String sex;private final String age;private BeanContruct(Builder builder) {this.id = builder.id;this.name = builder.name;this.sex = builder.sex;this.age = builder.age;}public static class Builder {private Integer id;private String name;private String sex;private String age;public Builder(Integer id, String name) {this.id = id;this.name = name;}public Builder sex(String val) {this.sex = val;return this;}public Builder age(String val) {this.age = val;return this;}public BeanContruct build() {return new BeanContruct(this);}}public Integer getId() {return id;}public String getName() {return name;}public String getSex() {return sex;}public String getAge() {return age;}}

测试代码:

@Testpublic void test() {BeanContruct bean = new BeanContruct.Builder(1, "Jack").age("18").sex("女").build();System.out.println(bean.getName());}


原创粉丝点击