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

笔记

  1. telescoping constructor
    在创建构造函数的时候,采取以下策略:第一个构造函数使用必选的参数,第二个增加一个可选参数,第三个增加两个可选参数,以此类推。
    缺点:类拥有过多构造函数。构造函数的参数繁多,使用的时候如果相邻的两个参数的类型相同,很容易出错。

  2. JavaBeans Pattern
    构造参数不使用参数或者只使用必选参数。其他的参数通过set方法设置。
    缺点:对象可能还没初始化完就被其他线程使用了。有不一致的风险。

  3. The Builder pattern
    每个对象附带一个Builder类。先将参数设置到Builder类对象中,最后调用build()方法构建目标对象。
    缺点:需要新增一个Builder类。如果构造函数的参数不多,用Builder Pattern略显繁琐。

理解与思考

  • 这一节主要是关于如何处理多参数构造函数的问题。可选的方案有:

    1. telescoping constructor
    2. JavaBeans Pattern
    3. The Builder pattern

    三类方法,各有优缺点。应具体情况具体分析,采用适合的方法。

你可能感兴趣的:(Item 2: Consider a builder when faced with many constructor parameters)