java - 好还是坏——使用构造函数从远程 web 服务初始化模型

标签 java object constructor

我想知道通过对网络服务的请求来初始化我的模型是好是坏,还是使用在构造函数之后调用的另一个公共(public)方法更好

例如:

class Model {
    ModelData data;

    Model(Integer model_id) {
       data = Request.getDataFromWebServices(model_id);
    }
}

最佳答案

将类必需用作构造函数参数通常是一个很好的方法(而不是使用 setter)。
因此,在您的情况下,如果 model_idModel 工作所必需的,那么您将它放在那里是正确的。
现在您使用 model_id 进行远程方法调用。
远程方法调用可能需要更多时间来执行,使得 Model 需要更多时间来初始化并且可能会失败,例如由于网络原因。 如果 api 涵盖来自网络层或实际处理的任何异常,并返回一个好的值来初始化 Model,那么恕我直言,它应该没问题。
只需将类记录为由于网络访问而花费更多时间进行初始化

关于java - 好还是坏——使用构造函数从远程 web 服务初始化模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6480743/

相关文章:

使用构造函数和 "this"对代码输出的 Java 解释

java - 了解 java.lang.String s = new String ("hello") 和 String hold = "hello"之间的区别

java - GSON 无法调用 FloatBuffer 类的无构造函数

javascript - 与 Java 一样,Object.call 也应该是 Javascript 构造函数中的第一个调用吗?

Java 从场景中删除对象

javascript - 通过 JSON 文件创建大型客户端 Javascript 对象数组的替代方案?

javascript - 子类工厂缺少原型(prototype) - Javascript

java - 如何使用双参数的drawImage()方法

Java相互认证-客户端服务器

java - 使用 setDisplayHomeAsUpEnabled 返回 list 中的 PARENT_ACTIVITY 时出现问题