首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >构造函数与工厂方法

构造函数与工厂方法
EN

Stack Overflow用户
提问于 2009-03-10 04:38:29
回答 10查看 86.1K关注 0票数 201

在对类建模时,首选的初始化方式是什么:

工厂构造函数,或

  1. Methods

使用这两种方法的考虑因素是什么?

在某些情况下,我更喜欢有一个工厂方法,如果对象不能构造,它会返回null。这使得代码很整洁。在采取替代操作之前,我可以简单地检查返回值是否不为null,而不是从构造函数抛出异常。(我个人不喜欢例外)

比方说,我在一个类上有一个构造函数,它需要一个id值。构造函数使用此值填充数据库中的类。如果不存在具有指定id的记录,则构造函数将抛出RecordNotFoundException。在这种情况下,我必须将所有此类类的构造封装在一个try..catch块中。

相反,我可以在那些类上有一个静态工厂方法,如果没有找到记录,它将返回null。

在这种情况下,构造函数和工厂方法哪种更好?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/628950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档