我想知道通过对网络服务的请求来初始化我的模型是好是坏,还是使用在构造函数之后调用的另一个公共(public)方法更好
例如:
class Model {
ModelData data;
Model(Integer model_id) {
data = Request.getDataFromWebServices(model_id);
}
}
最佳答案
将类必需用作构造函数参数通常是一个很好的方法(而不是使用 setter)。
因此,在您的情况下,如果 model_id
是 Model
工作所必需的,那么您将它放在那里是正确的。
现在您使用 model_id
进行远程方法调用。
远程方法调用可能需要更多时间来执行,使得 Model
需要更多时间来初始化并且可能会失败,例如由于网络原因。
如果 api 涵盖来自网络层或实际处理的任何异常,并返回一个好的值来初始化 Model
,那么恕我直言,它应该没问题。
只需将类记录为由于网络访问而花费更多时间进行初始化
关于java - 好还是坏——使用构造函数从远程 web 服务初始化模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6480743/