3

複数の戻りオブジェクトを必要とする多くのメソッドを持つJavaでプロジェクトを行っています。このために、戻りオブジェクトをカプセル化するプライベート クラスを作成し続ける必要があります。たとえば、コード内の FontResult がフォント名とフォントサイズを返すため、オブジェクトは理にかなっていますが、必要な戻り値の型ごとに新しいオブジェクトを常に作成するのは間違っていると感じ、Java の記述方法を回避しようとしているようです。これは間違っていますか、それともこのようにして問題ありませんか? 言うな、聞かないというアプローチでコードを構築する必要がありますか?

例は次のとおりです。

String test = "hello";
StringResult result = getInformation(test);
int length = result.length;

private StringResult getInformation(String test) {
  int length = test.length();
  char firstChar = text.charAt(0);
}

private class StringResult {
  int length;
  char firstChar;

  StringResult(int length, char firstChar) {
    this.length = length;
    this.firstChar = firstChar;
  }
} 
4

1 に答える 1

3

「複数の戻りオブジェクト」のようなものが必要になることもありますが、それは多くの場合、あまりにも多くの情報を渡していることを示しています。考えられる状況:

  1. オブジェクトが非常に緊密に結合されるように、あるオブジェクトから別のオブジェクトに大量のデータを渡します。おそらく、クラスは 1 つだけにする必要があります。

  2. 誰も使用しない情報を流しています -> 消去します。

  3. クラスのプライベートフィールドである必要があるクラス内のメソッド間で情報をやり取りしています。

于 2016-07-19T13:11:10.520 に答える