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