【发布时间】:2012-05-07 02:21:37
【问题描述】:
我正在开发一个由复杂对象组合驱动的用 java 编码的复杂企业应用程序。例如:在特定场景中,要执行一个操作,流程如下:
login() ->
Followed by defined sequence of 10 to 20 method calls in different classes ->
Followed by a logout()
在框架内,包括登录、注销在内的几乎所有操作以及 10 到 20 个方法调用中的许多都没有返回类型。任何错误行为都由框架处理。说,在登录中
public void login(){
try{
//login actions
//chained sequence of calls
}catch(){
// framework handling exceptions and other rollback options
}
}
中间的 10 到 20 个动作是在框架的不同层次结构中对不同对象的方法调用。
一个随机的类应该是这样的:
class someobject{
def variable
void action1(){ do something on variable }
void action2(){ do something on variable }
...
}
变量经常改变状态,这些动作有一个仅由框架定义的序列,我觉得这很烦人。
我想说,如果有适当的返回类型,或者至少有一些方法,比如login() 的布尔值,生活会容易得多。由于对一系列 void 返回函数的严格遵守,我发现很难通过调试来理解流程,而且单元测试对我来说成了一场噩梦。
所以现在,我的印象是编写返回某些内容的函数总是更好,尤其是当涉及到一系列操作时。那么,这是一个安全的假设吗?我想听听你对此的看法。如果我错了,请纠正我。
【问题讨论】:
-
您在这里解释的内容听起来像是您缺少正确的组件驱动设计。该方法将导致无法维护的“spagetti 代码”。你可能需要引入一些中间层...
标签: java return return-value void