0

我有一个 Java 应用程序(胖客户端、服务器、数据库)。所有服务器方法调用都返回一个向量(服务器代码最初是在几年前构建的,为了保持一致而保持不变)。无论调用什么,Vector 总是返回 2 个位置。第一个位置是一个错误对象(或 null),用于提醒客户端服务器在处理方法调用时遇到的任何问题。第二个位置是我们想要的数据。它可以是对象的 ArrayList、String、int 等;无论胖客户正在寻找什么。

我正在尝试减少占用空间并提高服务器调用的性能。我正在研究的一件事是删除返回的向量并用某些东西替换它们。我的问题是什么。如前所述,此集合将始终为 2 个位置,位置 0 作为错误对象(如果没有错误,则为 null),位置 1 作为“我的数据”。它永远不需要排序,它基本上用于返回 2 个参数的方法(并在从服务器到客户端时将它们序列化)。

除了将位置 0 和 1 传输到客户端之外,我不需要任何其他功能,因为一旦此集合到达客户端,就会检查位置 0 是否存在错误,然后将位置 1 拉出并移交给调用代码段,因为那里存储了任何对象.

有什么建议么?

4

1 回答 1

0

创建一个类:

class MeaningfulNameForTheResult
{
  public Error error;
  public Object result;
}

并使用它作为结果。

根据您的需要,是否将属性设为私有并添加或不添加 setter/getter,......但总体思路:创建一个具有两个您序列化的属性的类。

编辑:也许...根据您的需要,您甚至可以完全删除该对象。如果一切正常,只需返回您想要的结果对象,如果出现问题则返回错误对象。在客户端中,反序列化对象,然后检查类型。如果是,instanceof Error那么您知道这是一个错误,否则就是您的结果。

于 2012-05-21T17:38:40.783 回答