发现:java builder模式

2018-01-17  本文已影响0人  可可乐乐12138

1.发现

在很多java语言的开源代码中经常会见到一个类中会有一个内部类“Builder”,而且Budiler这个类中会很多其他类的对象,并且进行初始化,但在本类中也会申明这些变量,这样做的好处到底在哪?起初猜测是为了链式赋值,现在想想确实挺傻的。

2.了解

Builder模式的形式是:

class A{

B b;

C c;

A(Builder builder){

b = builder.b;

c = builder.c;

}

class Builder{

B b;

C c;

Builder(){

}

public Builder setC(C c){

this.c = c;

}

public Builder setB(B b){

this.b = b;

}

}

}

刚开始的时候总是不知所云,为什么要这样去写尼,这样促使我去了解了一下它,使用builder类的一个好处就是不需要将每一个参数都在构造函数中去初始化。比如一个很复杂的类,需要在类中完成很多操作,需要多个类进行聚合,但是并不是每一个对象每一个使用情况下都需要使用。这样使用builder类是不是就可以我想传什么参数就传什么参数,不用进行每一种情况都去声明一个构造函数去使用吧。

上一篇 下一篇

猜你喜欢

热点阅读