我正在用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;
}
}
解决方法:
尽管有时需要使用诸如“多个返回对象”之类的东西,但它通常是一个迹象,表明您传递的信息过多.一些可能的情况:
>您将大量数据从一个对象传递到另一个对象,以使这些对象紧密耦合.您应该只上一堂课.
>您正在传递没有人使用的信息->删除它.
>您正在类内的方法之间传递信息,而这些信息实际上应该是该类的私有字段.
标签:tell-dont-ask,hygiene,java,class
来源: https://codeday.me/bug/20191118/2027848.html