1、单一职责原则
理解:
单一职责适用于接口、类、方法,只负责一项职责
优点:
降低类的复杂度,一个类只负责一项职责,逻辑简单
提高类的可读性
可维护性提高:可读性提高,那当然更容易维护了
降低变更引起的风险:如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助
2、开闭原则
理解:
一个软件实体如类、函数应该对扩展开放,对修改关闭。
优点:
提高代码复用性
提高可维护性
3、迪米特法则(最少知道原则)
一个类对自己依赖的类知道的越少越好,也就是对于被依赖的类的方法和属性尽量私有化
4、接口隔离原则
理解:
建立单一接口,不要建立庞大臃肿的接口
接口尽量细化,同时接口中的方法尽量少
一个接口只服务于一个子模块或业务逻辑
5、里氏替换原则
理解:
所有引用父类的地方必须能透明地使用其子类的对象,反过来则不成立
6、依赖倒置原则
理解:
“面向接口编程“是依赖倒置原则的核心,上层定义接口,下层实现这个接口, 从而使得下层依赖于上层,降低耦合度
模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的
依赖倒置原则的具体实现:依赖注入(Dependency Injection)
构造函数传递依赖对象
Setter方法传递依赖对象
接口传递依赖对象
7、合成复用原则
尽量使用对象组合,而不是继承来达到复用的目的。