我有一个非常糟糕的类,有两个方法可以在服务可用时启动或停止某些服务。类似下面的内容(它们不是 if-elses,只是 if):
void startServices() {
if (service1 == true) {
start1();
}
if (service2 == true) {
start2();
} if (serviceN == true) {
startN();
}
}
void stopServices() {
if (service1 == true) {
stop1();
}
if (service2 == true) {
stop2();
}
if (serviceN == true) {
stopN();
}
}
你能推荐我任何设计模式来让它更漂亮吗?
谢谢!
最佳答案
视情况而定;我的第一 react 是将服务存储在散列或数组中。每个服务都实现一个具有启动和停止方法的接口(interface)。然后启动或停止服务只需要一个服务 key 或索引。
也许它仍然有点脆弱,但在不知道更多信息的情况下,我不确定如何“域化”它,使其看起来更像您正在做的事情。
关于java - 避免多重if的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7844358/