可能重复:
单一责任原则对验证意味着什么
案例 A:验证对象 -> 发送到方法 -> 方法假定有效对象 -> 方法执行
案例 B:发送到方法 -> 方法检查对象有效性 -> 方法仅在有效时执行
在情况 A 中,我可以让该方法负责 1 个任务(执行)。但是,我可能不小心传递了一个无效对象。(当然我可以通过仔细编码来防止这种情况,但这是我问题的核心......)
在情况 B 中,该方法永远不会在无效对象上执行,但它必须不仅负责执行其代码,而且还负责对象验证。这不是违反“单一责任”吗?
谢谢你!