3D编程模式:介绍设计原则

大家好~本文介绍6个设计原则的定义

系列文章详见:
3D编程模式:开篇

单一职责原则(SRP)

定义:

  • 只有一个原因引起变化
  • 一次只做一件事情

依赖倒置原则(DIP)

定义:

  • 高层模块不应该依赖低层模块,两者都应该依赖其抽象
  • 抽象不应该依赖细节
  • 细节应该依赖抽象

具体来说就是:
模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;
接口或抽象类不依赖于实现类;
实现类依赖接口或抽象类。

接口隔离原则(ISP)

定义:

  • 客户端不应该依赖它不需要的接口
  • 类间的依赖关系应该建立在最小的接口上

也就是说,接口应该尽量细化,同时接口中的方法尽量少

迪米特法则(LoD)

也称为最少知识原则(LKP)

定义:

  • 一个对象应该对其他对象有最少的了解

具体来说就是:
一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供的这么多public方法

它包括两个方面:

  • 只与直接的朋友通信
  • 朋友间也是有距离的

合成复用原则(CARP)

定义:

  • 要尽量使用组合而不是继承

开闭原则(OCP)

定义:

  • 对扩展开放,对修改关闭

其含义是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。

更多资料

应用原则的具体案例请见设计原则视频

posted @ 2022-06-08 18:11  杨元超  阅读(113)  评论(0编辑  收藏  举报