SRP(PDF版本; HTML版本)表明了这一点
一个班级改变的理由绝不应该是一个原因
当您查看Outlook,日历事件窗口时,它具有"保存并关闭"按钮.
因此,当Save或Close中的任何一个或两个的功能发生变化时,该按钮应该会发生变化.它显然违反了SRP.
此功能既节省时间又方便,因为大多数用户在日历上保存约会时都希望这样做.
但是现在,我的问题是,除了功能需要在Outlook中使用之外,你还有什么时候违反SRP?
SRP不适用于UI.请记住,即使按钮被称为"保存并关闭",毫无疑问,可以使用两种不同的方法或类型来处理保存和关闭功能.该按钮简单地将这两个独立的功能组合在一起.
如果您觉得需要违反SRP,那么您需要重新评估您的方法.任何SRP违规都可以重构为新方法或类型,通过两个部分的组合公开复合功能.