我有一些需要遵守某些规则的POJO
。 A 类型的 ObjectA 的状态取决于 B 类型的 ObjectB 的状态。在这种情况下,我使用构建器在 ObjectA 上强制执行 ObjectB 的规则。
构建器负责在构建 ObjectA 时执行所有验证、引发异常并执行检查。这不是问题。我希望开发人员将来能够使用构建器实例化和操作 A 类型。我如何强制执行此操作?
以下是我的一些选择,这将是最好的方向:
- 文档,如果开发人员不阅读文档,效果就不那么有效,而且如果某件事能做,就会有人去做。
- 将验证移至
POJO
中,但我使用 ORM,并且在设置属性时很少抛出错误。 - 您对这个问题的看法。
最佳答案
使用静态内部构建器。
或者保护构造函数并将构建器与公共(public)接口(interface)放在同一个包中
关于java - 强制开发人员使用Builder来构建实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12820529/