单一职责原则,就是功能要 单一,可以这样理解,就一个类而言,应该仅有一个引起它变化的原因。
我们在做编程的时候,我们会给一个类加各种各样的功能。比如我们上面的提到的运算的类,如果我们将输入的功能还有,或者将加载文件的功能都放到运算的类里面,当我们要修改文件的路径或者输入的时候,我们就必须修改运算的类。这让我们维护起来非常麻烦,代码也缺少可复用性,灵活性。
软件设计的真正要做的很多内容,就是发现职责并把这些职责相互分离。如果你能够想到多于一个动机去改变一个类,那么这个类就具有多于一个的职责,就应该考虑把这个类的职责分离。