首页 > 解决方案 > 无法理解为什么代码违反了单一责任原则(在 Robert C. Martin 的“干净代码”一书中)

问题描述

我正在阅读 Robert C. Martin 的《清洁代码》一书。书上说这一段下的代码违反了单一责任原则但我不知道为什么!

Payroll.java

  Public Money calculatePay(Employee e)
  throws InvalidEmployeeType {
    switch (e.type) {
      case COMISSIONED:
        return calculateCommissionedPay(e);
      case HOURLY:
        return calculateHourlyPay(e);
      case SALARIED:
        return calculateSalariedPay(e);
      default:
        throw new InvalidEmployeeType(e.type);
    }
  }

我认为“计算薪酬”只对首席财务官负责。所以,我认为这段代码不违反 SRP。然而,书上说不是。请问你能帮帮我吗?

标签: java

解决方案


推荐阅读