是否创建了很多 private 类 糟糕的风格?
Is creating a lot of private classes bad style?
我正在 Java 中做一个项目,其中有很多方法需要多个 return 对象。为此,我必须继续创建封装 return 对象的私有 类。这些对象是有意义的,因为我的代码中的 FontResult 将 return 字体名称和字体大小,但不断为我需要的每个 return 类型创建新对象感觉不对,就像我试图规避一样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;
}
}
虽然偶尔需要 "multiple return objects" 之类的东西,但它通常表明您传递了太多信息。一些可能的情况:
您将大量数据从一个对象传递到另一个对象,以便对象紧密耦合 -> 您可能应该只有一个 class.
您正在传播没有人使用的信息 -> 删除它。
您正在 class 内部的方法之间传递信息,这实际上应该是 class.
的私有字段
我正在 Java 中做一个项目,其中有很多方法需要多个 return 对象。为此,我必须继续创建封装 return 对象的私有 类。这些对象是有意义的,因为我的代码中的 FontResult 将 return 字体名称和字体大小,但不断为我需要的每个 return 类型创建新对象感觉不对,就像我试图规避一样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;
}
}
虽然偶尔需要 "multiple return objects" 之类的东西,但它通常表明您传递了太多信息。一些可能的情况:
您将大量数据从一个对象传递到另一个对象,以便对象紧密耦合 -> 您可能应该只有一个 class.
您正在传播没有人使用的信息 -> 删除它。
您正在 class 内部的方法之间传递信息,这实际上应该是 class.
的私有字段