我正在开发一个简单的树结构数据库,我通常通过 Builder(Builder 模式)设置依赖项或可选设置。现在我不确定何时使用 Guice,何时使用 Builder 模式以及何时使用静态工厂方法而不是构造函数本身。我已经多次阅读 Effective Java,我认为它至少提到了不暴露构造函数的很多优点。是时候重读了 ;-)
那么,您知道哪些案例可以清晰区分吗?我不应该公开构造函数吗?因此,例如在每种情况下都写public static Foo getInstance(...) { return new Foo(...)}
?