设计模式 - 六大原则

107 阅读2分钟

每次重温设计模式都会先了解六大原则,虽然这六大原则背起来简单,但还是记下

  • 开闭原则
  • 单一职责原则
  • 里氏替换原则
  • 依赖倒置
  • 迪米特法则
  • 接口隔离原则

开闭原则

简单记:扩展开放,修改关闭

这个原则很好理解,可以联想到咱们平时开发代码,也是基于可扩展的原则,减少代码的修改。都知道修改的多,影响的就会大,出现bug的可能性也会增大。

单一职责原则

简单记:只做一件事

顾名思义职责单一,一个类只做一件事,一个类只有这一件事引起它修改的原因

里氏替换原则

简单记:子类替换父类

这里的意思,只要父类出现的地方都可以用子类替换。子类可以扩展新功能,但不要修改父类的功能(不能覆盖重写父类已实现(非抽象)的方法)。

这个和我们平时开发代码稍微有点不同,我们一般继承父类或多或少会重写父类方法,这就和里氏替换原则相违背了。

依赖倒置

简单记:细节依赖于抽象

程序要依赖于抽象编程,不要依赖于具体实现。实现的细节依赖于抽象。

这和咱们的面向对象开发思路中面向接口编程差不多意思。即使实现细节不断变化,只要抽象不变,客户程序就不需要变化。大大降低了客户程序与实现细节的耦合度。

迪米特法则

简单记:最少知道

一个对象对其他对象保持最少的了解,尽量降低类与类之间的耦合度。

接口隔离原则

简单记:只保留用到的接口

如果客户程序需要使用到一个接口的具体实现,但是其中有很多方法不需要用到(空实现),则就应该把接口拆掉,只保留客户程序需要的接口。