我最近学习设计模式:然后就开始我们的设计模式之旅
1. 单一职责原则(Single Responsibility Principle,SRP)
单一职责的好处:
l 类的复杂性降低,实现什么职责都有清晰明确的定义;
l 可读性提高,复杂性降低,那当然可读性提高了;
l 可维护性提高,可读性提高,那当然可读性提高了;
l 变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性,维护性都有非常大的帮助。
但是单一职责受非常多因素制约,必须考虑工期、成本、人员技术水平、硬件情况、网络情况,政府政策、垄断协议等等。
对于单一职责,建议是接口一定做到单一职责,类的设计尽量做到只有一个原因引起变化。
单一职责要求的是类和接口职责单一,注重的是职责,是业务逻辑上的划分