单一职责原则
定义
-
一个类只负责一个功能领域中的相应职责
-
在软件系统中,一个类承担的职责越多,他被复用的可能性就越小,
接口隔离原则
定义
- 使用多个专门的接口,而不使用单一的总接口。
- 客户端不应该依赖那些它不需要的接口。
核心
- 接口尽量细化
- 接口中的方法尽量少
- 接口高内聚
依赖倒转原则
定义
- 高层模块不应该依赖低层模块,两个都应该依赖抽象
- 抽象不应该依赖细节,细节应该依赖抽象
核心
- 实现类不应相互依赖,都应该依赖接口,抽象
- 抽象类,接口也应该依赖抽象和接口,不能依赖具体实现类
里氏替换原则
定义
- 任何基类(父类)可以出现的地方,子类一定可以出现
- 要求子类能扩展父类,但不能变更父类的行为,或者减少父类的行为
- 如果子类不能完整的做到这点,就断开继承
- 子类可以扩展自己的行为
核心
- 父类业务必须原样支持:子类要完整的实现父类的业务
开闭原则
定义
- 对(提供者)扩展开放,对(使用者)修改关闭
迪米特法则
定义
- 最小知识原则
- 一个软件实体应当尽可能少的与其他实体发生相互作用
合成复用原则
定义
- 尽量使用对象组合,而不是继承来达到复用的目地