面向对象设计原则

OO基础:

  • 抽象
  • 封装
  • 继承
  • 多态

七大原则:

  1. 单一职责原则(Single Responsibility Principle)

    每一个类应该专注于做一件事情。

  2. 里氏替换原则(Liskov Substitution Principle)

    超类存在的地方,子类是可以替换的。

  3. 依赖倒置原则(Dependence Inversion Principle)

    实现尽量依赖抽象,不依赖具体实现。

  4. 接口隔离原则(Interface Segregation Principle)

    应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。

  5. 迪米特法则(Law Of Demeter)

    又叫最少知识原则,一个软件实体应当尽可能少的与其他实体发生相互作用。

  6. 开闭原则(Open Close Principle)

    面向扩展开放,面向修改关闭。

  7. 组合/聚合复用原则(Composite/Aggregate Reuse Principle CARP)

    尽量使用合成/聚合达到复用,尽量少用继承。原则: 一个类中有另一个类的对象。

总结

面向对象设计原则的目的是为了提高程序的可扩展性、可维护性以及可扩展性。简要的做法可以总结为一下三点:

  1. 抽取可变化的部分并封装起来,让其他部分不受影响
  2. 针对接口编程,而不是针对实现编程
  3. 多用组合,少用继承
  4. 为了交互对象之间的松耦合而努力