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

标签 java android design-patterns

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

相关文章:

android - 在android中绘制折线图

android - 一个按钮的多个onClickListener

c++ - 使用 Pimpl Idiom 的其他原因或目的

java - 自定义字母顺序

java - 是否有任何 Java API 可以将文件从一台服务器传输到另一台服务器?

android - null 不能转换为非 null 类型 kotlin.collections.List - kotlin

面向对象设计 : Car - Connection between Tank and Engine

java - apache calcite 区分列名和表名

java - ConfigurationProperties 将属性名称与 yaml 文件中的数字绑定(bind)

java - 如何根据用户提供的字段创建字段?