构造函数与工厂方法[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 2年前关闭。 改善这个问题 在对类建模时,首选的初始化方式是: 构造函数,或 工厂方法 使用这两种方法的考虑因素是什么? 在某些情况下,我更喜欢使用工厂方法,如果无法构造该对象,则该方法返回null。这使代码更简洁。我可以简单地检查返回的值是否不为null,然后再执行其他操作,这与从构造方法中引发异常形成了对比。(我个人不喜欢例外) 说,我有一个类的构造函数,它需要一个id值。构造函数使用此值从数据库填充类。如果不存在具有指定ID的记录,则构造函数将引发RecordNotFoundException。在这种情况下,我将必须将所有此类的构造包含在try..catch块中。 与此相反,我可以在这些类上使用静态工厂方法,如果未找到该记录,则该方法将返回null。 在这种情况下,构造方法或工厂方法哪种方法更好?