美文网首页
第2条: 构造器参数过多时考虑用构建器

第2条: 构造器参数过多时考虑用构建器

作者: 猴子搬苞谷 | 来源:发表于2018-07-18 15:49 被阅读0次

    Item 2: Consider a builder when faced many constructor parameters.

    当类的构造参数越来越多我们该怎么办?

        a.重叠构造器模式(如下 effective java 中的例子)

            优点:感觉没啥优点,参数少时,可以用用。

            缺点: 客户端调用构造器很麻烦,需要程序员知道参数个数、参数顺序、参数意义,很容易调用错误,同时会导致代码不可读。

            b.JavaBean 方式创建, 通过setter方法设置参数

                优点:构造过程可读性变强

                缺点:构造过程被拆分,无法保证构造过程中JavaBean的一致性;JavaBean 方式导致类不再是不可变的了;要求程序员去保证线程安全。

                c.构造器模式

                    优点: 构建器更加的灵活,方便调用、可重复调用以生成多个对象、代码可读性强

                    缺点:有一定的性能消耗,当性能要求很高的情况下,需慎重使用。

        In summary, the Builder pattern is a good choice when designing classes whose constructors or static factories would have more than a handful of parameters.

        当构造函数或者静态工厂方法参数越来越多的情况下,构建器是一个不错的选择。

    相关文章

      网友评论

          本文标题:第2条: 构造器参数过多时考虑用构建器

          本文链接:https://www.haomeiwen.com/subject/umiopftx.html