开发原则-solid

开发原则-solid

起男 867 2022-01-17

开发原则-solid

  • 单一职责srp:一个对象应该只包含单一的职责,并且该职责被完整的封装在一个类中。并且有且仅有一个原因使类变更
  • 开闭原则ocp:一个软件实体(类、模块和函数)应该对扩展开放,对修改关闭。一个好的系统是在不修改源代码的情况下,可用扩展功能,而失效开闭原则的关键就是抽象化
  • 里氏替换原则lsp:任何基类可用出现的地方,子类也可以出现;这一思想表现为对继承机制的约束规范,只有子类能够替换其基类时,才能保证系统正在运行期内识别子类,这是保证继承复用的基础
  • 接口隔离原则isl:客户端不应该依赖那些它不需要的接口;一旦一个接口太大,则需要将它分割成一些更细小的接口,使用该接口的客户端仅需要知道与之相关的方法即可
  • 依赖倒转原则dip:要依赖抽象,而不是依赖具体的实现,具体而言就是高层模块不依赖底层模块,二者公共依赖于抽象。抽象不依赖于具体,具体依赖于抽象

其他原则

  • 合成/聚合复用原则carp:尽量使用对象组合,而不是继承关系,来实现软件复用的目的
  • 迪米特法则lod:有叫“最少知道原则”。一个对象应当对其它对象尽可能少的了解