从本章开始介绍敏捷设计的一些原则,首当其冲就是单一职责原则,这在之前第六章中的敏捷编程实践中提到过。
一句话说明白这个原则就是:一个类应该仅有一个原因使得它变化。
那么为什么要遵循这个原则将两个不同的职责写到两个类当中呢?如果一个类承担了过多的职责,那么就会有多个原因导致该类需要进行改变,而该由于这个类承担了多个职责,修改这个类就有可能引起多个职责的问题出现。这就是我们前面软件腐化的脆弱性。
我们判断一个类是否有多个职责可以试图去看由多少个原因会使得该类变化。但是当我们的程序中,变化总是导致两个职责同时变化,那么这两个职责就不应该被拆分,否则设计具有不必要的复杂性。