背景
if else 过多

修改方式
import java.util.function.Supplier
class ColorProcess internal constructor() {
private val colorProcessorMap: MutableMap<String, Supplier<String>>
init {
colorProcessorMap = HashMap()
colorProcessorMap["red"] = Supplier { processRed() }
colorProcessorMap["blue"] = Supplier { processBlue() }
colorProcessorMap["yellow"] = Supplier { processYellow() }
}
fun processColor(color: String): String {
return if (colorProcessorMap.containsKey(color)) {
colorProcessorMap[color]!!.get()
} else {
"Invalid Color"
}
}
private fun processRed(): String {
return "Red is Processed"
}
private fun processBlue(): String {
return "Blue is Processed"
}
private fun processYellow(): String {
return "Yellow is Processed"
}
}
网友评论