小编Vic*_*cky的帖子

我们可以用C#中的对象替换if语句吗?

以下是一种方法:

  private RiskFactor calculateMotoristRiskFactor()
    {               

        if (motorist.PointsOnLicense > 3
        || motorist.Age < 25)

            return RiskFactor.HighRisk;
        if (motorist.PointsOnLicense > 0)
            return RiskFactor.ModerateRisk;

        return RiskFactor.LowRisk;
    }
Run Code Online (Sandbox Code Playgroud)

我不想要那些if语句.

我可以使用策略模式来解决这个问题吗?如果是,那么我也不希望不同的多态类中的每个方法都应该有一个If语句.

RiskFactor是一个枚举

有没有更好的方法来使这更加面向对象而不是程序化?

c# oop refactoring

6
推荐指数
1
解决办法
1454
查看次数

标签 统计

c# ×1

oop ×1

refactoring ×1