OO基础
抽象、封装、多台、集成
目的
- 提高程序的可扩展性和可维护性
- 高内聚,松耦合
设计原则
- 封装变化部分
- 面向接口编程,而不是面向实现编程
- 多用组合,少用继承
- 为交互对象间的松耦合设计而努力
- 类应该对扩展开放,对修改关闭
- 要依赖抽象,不要依赖具体类。即依赖倒置原则,这里倒置的意思是低层组件依赖高层抽象。
- 最少知识原则,只和朋友交谈 (OO的设计原则,可不是生活的原则~)
SOLID原则
- Single Responsibility Principle:单一职责原则
一个类应该只有一个发生变化的原因
- Open Closed Principle:开闭原则
一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭
- Liskov Substitution Principle:里氏替换原则
所有引用基类的地方必须能透明地使用其子类的对象
- Law of Demeter:迪米特法则
只与你的直接朋友交谈,不跟“陌生人”说话;降低耦合度,提高独立性
- Interface Segregation Principle:接口隔离原则
1、客户端不应该依赖它不需要的接口
2、类间的依赖关系应该建立在最小的接口上
- Dependence Inversion Principle:依赖倒置原则
1、上层模块不应该依赖底层模块,它们都应该依赖于抽象。
2、抽象不应该依赖于细节,细节应该依赖于抽象。