是否应该重新进行输入验证以确保安全?

时间:2017-10-14 02:57:52

标签: validation security oop

假设classA将信用卡号作为参数。它检查该信用卡号是否存在,然后将其传递给classB进行处理。

classB是否也要检查信用卡号码是否有效,即使它始终从classA获得已经验证过的信用卡号码?

在可预见的将来,ClassB不会被任何其他类重用。

1 个答案:

答案 0 :(得分:1)

  

classB是否也要检查信用卡号码是否有效,即使它始终从classA获得已经验证过的信用卡号码?

如果我们试图实现具有高内聚力的低代码耦合,那么只要有可能,就应该为每个类和方法分离具有明确边界的任务。

您不希望拥有重复或半复制的作业。如果为每个类设置一个明确的作业范围,您可能会意识到每个类可以在某种程度上独立工作,甚至可以重用代码来处理其他类。

想象一下,有一天你需要修改验证信用卡号码的规则,你最终还是要对classB进行修改。在最坏的情况下,classA也会验证classC到classZ,你必须对所有使用classA的人进行更改。

所以一般来说,你应该"信任" classA做得很好,而classB只需要专注于自己的任务。