是不是创造了很多私人课程的坏风格?

时间:2016-07-19 13:06:33

标签: java class tell-dont-ask hygiene

我正在用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;
  }
} 

1 个答案:

答案 0 :(得分:3)

虽然偶尔需要使用“多个返回对象”之类的东西,但这通常表示您传递的信息过多。一些可能的情况:

  1. 您将大量数据从一个对象传递到另一个对象,以便对象紧密耦合 - >你应该只有一节课。

  2. 您传递的信息无人使用 - >擦除它。

  3. 你在类中的方法之间传递信息,这些方法应该是类的私有字段。