OO基础:
- 抽象
- 封装
- 继承
- 多态
七大原则:
单一职责原则(Single Responsibility Principle)
每一个类应该专注于做一件事情。
里氏替换原则(Liskov Substitution Principle)
超类存在的地方,子类是可以替换的。
依赖倒置原则(Dependence Inversion Principle)
实现尽量依赖抽象,不依赖具体实现。
接口隔离原则(Interface Segregation Principle)
应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。
迪米特法则(Law Of Demeter)
又叫最少知识原则,一个软件实体应当尽可能少的与其他实体发生相互作用。
开闭原则(Open Close Principle)
面向扩展开放,面向修改关闭。
组合/聚合复用原则(Composite/Aggregate Reuse Principle CARP)
尽量使用合成/聚合达到复用,尽量少用继承。原则: 一个类中有另一个类的对象。
总结
面向对象设计原则的目的是为了提高程序的可扩展性、可维护性以及可扩展性。简要的做法可以总结为一下三点:
- 抽取可变化的部分并封装起来,让其他部分不受影响
- 针对接口编程,而不是针对实现编程
- 多用组合,少用继承
- 为了交互对象之间的松耦合而努力