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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容