文章目录
- 面向对象设计之设计原则
-
- 面向对象设计的基础
- 设计原则
-
- 单一职责原则
- 里氏代换原则
- 依赖倒置原则
- 接口隔离原则
- 迪米特法则
- 开闭原则
- 其他原则
-
- 封装变化,封装易变点
- Kiss 原则
- 多用组合,少用继承
面向对象设计之设计原则
面向对象设计的基础
- 抽象
- 封装
- 继承
- 多态
设计原则
一切都是为了低耦合、高内聚的设计而努力
面向对象有如下 6 个原则
单一职责原则
如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性
里氏代换原则
任何基类出现的地方,子类也可以出现
依赖倒置原则
依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合
接口隔离原则
客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上
迪米特法则
又叫作最少知识原则(The Least Knowledge Principle),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解
开闭原则
软件中的构件应该对扩展开放,对修改关闭
其他原则
封装变化,封装易变点
在代码中,应该很容易就能发现哪些地方是不变的,哪些地方是易变的。针对哪些易变的地方,一定要将其抽取出来,将其封装到一个方法/函数当中,避免这些易变的代码给整体带来 坏味道
Kiss 原则
Keep it Simple,这个原则说的就是尊崇简单原则,不要为了模式而使用模式
多用组合,少用继承
此时要区别类之间的关系,是还是
有一个
。
是一个
则使用组合,
有一个
则使用继承
是一个