美文网首页
RemoveIfElseHell

RemoveIfElseHell

作者: CentForever | 来源:发表于2022-05-16 13:58 被阅读0次

背景

if else 过多


image.png

修改方式

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"
    }
}

相关文章

网友评论

      本文标题:RemoveIfElseHell

      本文链接:https://www.haomeiwen.com/subject/cbfwurtx.html