effective java 原则二:遇到多个构造器参数时考虑用建造者模式(构建器)

原则二:遇到多个构造器参数时考虑用建造者模式(构建器)

  • 多个构造器参数的缺点:
    • 产生多个构造器方法,随着参数的增加而增加
    • 参数填写顺序错误难以检查,当多个参数的类型一样时容易写错
  • 替代方案之一:JavaBean模式
    • 大量的setter是分开调用,在构建过程中javabean可能处于不一致的状态,此时调用可能产生错误
    • 无法对成员变量做成final
  • 推荐方案:建造者模式
    • 可避免填写顺序出错
    • 不会出现不一致性问题
    • 成员变量可final
    • 可在build()调用时检查参数有效性,也可在setter时检查
    • 可以自动填充某些域,如每次创建对象自动增加序列号
  • 建造者模式的缺点:
    • 每次创建实例都要先创建一个builder
  • 总结:在使用构造器或者静态工厂方法时考虑建造者模式,衡量参数的个数,以及未来的拓展,如果参数较多、未来可能增加参数,那么使用建造者,后期维护容易些。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容