- 开闭原则
- 里氏替换原则
- 接口隔离原则
- 依赖倒置原则
- 合成复用原则
- 单一职责原则
- 迪米特法则
|
说明 | 如何实现? | |
---|---|---|
开闭原则 | 对扩展开放,对修改关闭 | - 不允许修改系统的抽象层,允许扩展系统的实现层 - 解决问题的关键在于:抽象化,抽象化是面向对象设计的第一核心本质 |
里氏替换原则 | 子类型必须能够替换他们的基类型 | 优点:同一父类下面的各个子类互换,客户端可以毫不察觉 |
依赖倒置原则 | 面向接口编程,抽象不依赖与实现 | - 以抽象方式耦合是依赖倒置的关键; - 里氏替换是依赖倒置原则的基础; |
接口隔离原则 | - 多个专一的接口总比一个总接口要好。 - 过于臃肿的接口是对接口的污染 |
- 使用委托分离接口 - 使用多继承分离接口 |
单一职责原则 | 一个类专注于一个类 | 设计这个类应该只有一个功能,而不是两个或者多个 |
合成复用原则 | 尽可能使用合成、聚合,尽量少使用继承 | 复用 |
迪米特法则/最少知道原则 | 对象和对象之间使用尽少的关联 | - 主要用意是控制信息的过载; - 在类的划分上,类之间的耦合越弱,越有利于复用; - 在类的设计上,只要有可能,一个类应当设计成一个不变类 |