静态工厂和构造器都有个共同的局限性,就是它们都不能够很好的扩展到大量的可选参数。
如:
我们可以看到利用构造器方式,有多个参数时,很难控制其灵活性。因而我们选择尝试给每个值设置默认值:
调用初始化
这是常见的javabean模式,通过setter方法来构建对象,但是这也阻止了类做成不可变的可能,会有多线程安全问题。
那么我们来看看另外一种方式:
调用方式:
这样通过builder模式,实现了可选参数构建对象实例。
静态工厂和构造器都有个共同的局限性,就是它们都不能够很好的扩展到大量的可选参数。
如:
我们可以看到利用构造器方式,有多个参数时,很难控制其灵活性。因而我们选择尝试给每个值设置默认值:
调用初始化
这是常见的javabean模式,通过setter方法来构建对象,但是这也阻止了类做成不可变的可能,会有多线程安全问题。
那么我们来看看另外一种方式:
调用方式:
这样通过builder模式,实现了可选参数构建对象实例。