单一职责原则就是说在一个类、接口,甚至是方法功能上的职责上要单一,不能混杂其他的职责,因为当我们混杂了其他的职责,那么这个时候当我们修改代码中的一个职责或者方法的时候就会影响到另一个职责的功能,这个时候给项目维护带来不必要的风险。
当然职责这个东西在不同的项目中定义不同,要根据自己的具体情况来分析。
接口上的职责一定要单一,这个是为了便于后期的维护,一个接口一个实现,这样的话是非常的单一的,我们可以通过将多个接口的实现组合到一个类中来将两个职责有协同的接口组合到一个类中耦合起来,但是这样的话,单一是单一了,但是增加了类和设计的复杂性,这个时候我们完全可以写一个统一的类G来继承多个接口,致使在我们写的继承类G中来完成类的耦合协同问题,这个时候复杂性就没有那么高了,但是这个时候我们在类G中对这两个接口实现的时候,我们一定要特别注意接口的单一职责性,就是虽然在一个类G中实现了两个接口,但是这这个实现类中对接口的实现尽量相互分离,因为交叉的话会给后期维护带来麻烦。当然在协同的时候我们尽量调用接口中的方法。