在java中创建对象的最佳实践

Dar*_*der 2 java constructor factory object javabeans

我正在阅读Joshua Bloch写的Effective Java一书.在第一章中,他说使用工厂而不是构造函数,并列出了这种方法的优缺点.据我所知,缺点与对象构造没有密切关系.

此外,Bloch说Java Bean的构造方式也有缺点.资料来源:http://www.javapractices.com/topic/TopicAction.do? Id= 84

好的,所以使用构造函数不是很好,Java bean不是很好,工厂很好,所以你可以做一些缓存查找并避免创建额外的对象(取决于情况,有时你不想要缓存).

如果我试图避免构造函数和java bean,我应该如何创建一个对象?

我错过了一点吗?什么是最佳做法?

编辑:

class Foo{
   private Foo(){}

   public Foo Create(){
      return new Foo();
   }

}
Run Code Online (Sandbox Code Playgroud)

Eri*_*son 7

使用构造函数,直到你开始感受到Bloch提到的缺点.然后考虑工厂,依赖注入或其他方法是否更好.