我正在用 Java 开发一个 BlackBerry 应用程序,并且我有一个 Options 类,其中存储了所有用户设置。问题是我需要检查一些条件才能知道如何做出反应。随着我不断添加更多功能,向用户显示更多 GUI 选项,更多设置存储在 Options 类中,需要检查更多条件。
以下面的代码为例:
private void doCallMonitoring(int callId){
/*This is the part that I want to avoid. Having
multiple nested ifs. Here's just two conditions
but as I add more, it will get unmantainable
very quickly.*/
if(Options.isActive().booleanValue()){
callTime = new Timer();
TimerTask callTimeTask = new TimerTask(){
public void run(){
callTimeSeconds++;
if((callTimeSeconds == Options.getSoftLimit().intValue()) && (Phone.getActiveCall().getStatus() == PhoneCall.STATUS_CONNECTED)){
injectDTMFTone(Phone.getActiveCall());
}else if((callTimeSeconds >= Options.getHardLimit().intValue()) && (Phone.getActiveCall().getStatus() == PhoneCall.STATUS_CONNECTED)){
injectEndCall();
}
}
};
callTime.schedule(callTimeTask, 0,1000);
}else{
System.out.println("Service not active");
}
}
我希望它如何工作是通过一次调用来验证所有选项,并从那里确定行动的诅咒。我怎样才能实现这样的设计?