单一原则
一个类或者一个方法只负责一项职责,尽量做到类的只有一个行为原因引起变化;
业务对象(BO business object)、业务逻辑(BL business logic)拆分;
里氏替换原则
子类可以扩展父类的功能,但不能改变原有父类的功能;
(目的:增强程序的健壮性)实际项目中,每个子类对应不同的业务含义,使父类作为参数,传递不同的子类完成不同的业务逻辑。
依赖倒置原则
面向接口编程;(通过接口作为参数实现应用场景)
接口隔离原则
建立单一接口;(扩展为类也是一种接口,一切皆接口)
【接口的设计粒度越小,系统越灵活,但是灵活的同时结构复杂性提高,开发难度也会变大,维护性降低】
迪米特原则
最少知道原则,尽量降低类与类之间的耦合;
一个对象应该对其他对象有最少的了解
开闭原则
用抽象构建架构,用实现扩展原则;
当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。
合成复用原则
原则是尽量使用合成/聚合的方式,而不是使用继承;
- 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代
码混在一起。 - 针对接口编程,而不是针对实现编程。
- 为了交互对象之间的松耦合设计而努力