Builder模式

来源:互联网 发布:营销网络是什么 编辑:程序博客网 时间:2024/05/31 19:25

Builder模式就是不直接生成想要的对象,而是让客户端利用所有必要的参数调用构造器,得到一个builder对象。然后再builder对象上调用类似setter的方法,来设置每个相关的可选参数。
最后,客户端调用无参数的build方法来生成不可变的对象。(此篇文章为自己总结,如有错误欢迎纠正,谢谢。)

例子: 

package com.cn.test;public class A {private int a;private int b; private String c;private String d;public static class Builder {private int a ;private int b;private String c;private String d;              public Builder(int a,int b){}       this.a = a;       this.b = b;  }         public Builder setC(String c) {                         this.c = c;              return this;  }              public Builder setD(String d) {                  this.d = d;                    return this;  }              public A build() {                 return new A(this);//很关键 只有调用this的构造函数才能赋值  }}public A() { }       private A(Builder builder) {      a = builder.a;      b = builder.b;      c = builder.c;      d = builder.d;  }}

调用:
A a = new A.Builder(1, 2).setC(“c”).setD(“d”).build();

0 0
原创粉丝点击