鉴于 Mixins通常会向类中引入新的行为,这通常意味着一个类将具有多个行为。
如果一个类只有一个职责,那么这被定义为该类仅具有一种更改原因。
因此,我可以从两个不同的角度看待这个问题
如果一个类只有一个职责,那么这被定义为该类仅具有一种更改原因。
因此,我可以从两个不同的角度看待这个问题
类仅具有一个更改原因。混合模块也仅具有一个更改原因。如果仅更改类,则仅需要重新测试类。如果仅更改模块,则仅需要重新测试模块。因此,SRP完好无损。
类现在具有两个更改原因。如果更改类,则需要重新测试类和模块。如果更改模块,则再次需要重新测试类和模块。因此,SRP被违反了。