一、单一职责原则
类被修改的几率很大,因此应该专注于单一的功能。如果你把多个功能放在同一个类中,功能之间就形成了关联,改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题。
在此单一职责原则的定义是:应该有且仅有一个原因引起类的变更。
SRP的原话解释是: There should never be more than one reason for a class to change .
简单的说就是 One Reason One Change . 而SRP也可以理解成 SRCP (Single Responsibility/Change Principle)。
单一职责是一个很好的概念,要是死扣这个概念导致接口和类相当复杂,维护变得反锁。实际上要遵循单一职责还要结合实际项目包括工期、成本、人员水平、硬件情况等等。
这里引用下作者的建议“接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化”
先说下好处:
(1)类的复杂性降低,实现什么职责都有清晰明确的定义;
(2)可读性提高,复杂性降低,可维护性提高;
(3)变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。
二、里氏替换原则
三、依赖倒置原则
四、接口隔离原则
五、迪米特法则
六、开闭原则