改变课程的理由绝不应有多于一个
当您查看Outlook,日历活动窗口时,它有“保存和关闭”按钮。
因此,当保存或关闭之一或两者的功能发生变化时,该按钮应该会发生变化。它显然违反了SRP。
此功能既节省时间又方便,因为这是大多数用户在日历上保存约会时期望做的事情。
但是现在,我的问题是,当其他你违反SRP时,除了该功能需要在Outlook中可用时?
答案 0 :(得分:20)
SRP不适用于UI。请记住,即使按钮被称为“保存并关闭”,毫无疑问,可以使用两种不同的方法或类型来处理保存和关闭功能。该按钮简单地将这两个独立的功能组合在一起。
如果您认为需要违反SRP,则需要重新评估您的方法。任何SRP违规都可以重构为新方法或类型,通过两部分的组合来公开复合功能。