单一职责原则(SRP):
设计原则就是编程思想的实现,设计原则是承上启下的东西
意思:一个类,只干一件事。
举个例子:我们洗澡用的花洒,A为一个旋钮的花洒,B为两个旋钮的花洒,A在加热水的时候会减冷水,在加冷水时会减热水,可是B分开的功能,我们可以很好的调节加减热水和冷水,极大的方便了我们调解。这就是我们生活中的单一职责原则
上述类的变化:如果类中的任意方法发生改变,都要修改这个类,这不符合我们的单一职责原则。
如果要添加新的方法,也会去修改这个类,但这个是应该的。
我们进一步的改进它:
可是这样,我们在修改发送消息,或者挂断电话,仍会去修改这个类,很不友好,我们希望只会在添加新功能的时候去触发这个类的改变,其他的变化不修改我们这个类,于是有了进一步的改进:
现在这个类依然会有两种变化,但是会比之前好很多。如果我们采用单一职责原则放在我们的系统中,我们就会显得很呆,代码也会显得很长,这就要我们考虑怎么去使用这个单一职责原则。
优化:
这样我们就实现了单一职责原则,并不会去改变我们的类,只需要继承我们的接口,就好了