构造函数与工厂方法
建模类时,首选的首选方法是什么:
构造者,或
工厂方法
使用其中任何一个会有什么考虑因素?
在某些情况下,我更喜欢有一个工厂方法,如果无法构造对象,则返回null。这使代码整洁。在执行替代操作之前,我可以简单地检查返回的值是否为null,与从构造函数中抛出异常相反。(我个人不喜欢例外)
比如说,我在类上有一个构造函数,它需要一个id值。构造函数使用此值从数据库填充类。如果不存在具有指定标识的记录,则构造函数将抛出RecordNotFoundException。在这种情况下,我将不得不在try..catch块中包含所有这些类的构造。
与此相反,我可以在这些类上有一个静态工厂方法,如果找不到记录,它将返回null。
在这种情况下,哪种方法更好,构造函数或工厂方法?
largeQ
慕妹3242003
弑天下