gpt4 book ai didi

java - 避免多重if的设计模式

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:41:43 24 4
gpt4 key购买 nike

我有一个非常糟糕的类,有两个方法可以在服务可用时启动或停止某些服务。类似下面的内容(它们不是 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com