一、单一职责原则(SRP):
1、定义:应该有且仅有一种原因引起类的变更;
2、好处:
● 类的复杂性降低,实现什么职责都有清晰明确的定义;
● 可读性提高,复杂性降低,那当然可读性提高了;
● 可维护性提高,可读性提高,那当然更容易维护了;
● 变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。
3、注意:
单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或类的设计类设计得是否优良,但是“职责”和“变化原因”都是不可度量的,因项目而异,因环境而异。
对于接口,我们在设计的时候一定要做到单一,但是对于实现类就需要多方面考虑了。
对于单一职责原则,我的建议是接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化,只能是尽量。
二、开放-封闭原则
1、定义:对于扩展是开放的,对于更改是封闭的。
具体就是:
- 对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。
- 对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。
2、具体的做法就是抽象方法封闭起来。开放继承可扩展。