每次重温设计模式都会先了解六大原则,虽然这六大原则背起来简单,但还是记下
- 开闭原则
- 单一职责原则
- 里氏替换原则
- 依赖倒置
- 迪米特法则
- 接口隔离原则
开闭原则
简单记:扩展开放,修改关闭
这个原则很好理解,可以联想到咱们平时开发代码,也是基于可扩展的原则,减少代码的修改。都知道修改的多,影响的就会大,出现bug的可能性也会增大。
单一职责原则
简单记:只做一件事
顾名思义职责单一,一个类只做一件事,一个类只有这一件事引起它修改的原因
里氏替换原则
简单记:子类替换父类
这里的意思,只要父类出现的地方都可以用子类替换。子类可以扩展新功能,但不要修改父类的功能(不能覆盖重写父类已实现(非抽象)的方法)。
这个和我们平时开发代码稍微有点不同,我们一般继承父类或多或少会重写父类方法,这就和里氏替换原则相违背了。
依赖倒置
简单记:细节依赖于抽象
程序要依赖于抽象编程,不要依赖于具体实现。实现的细节依赖于抽象。
这和咱们的面向对象开发思路中面向接口编程差不多意思。即使实现细节不断变化,只要抽象不变,客户程序就不需要变化。大大降低了客户程序与实现细节的耦合度。
迪米特法则
简单记:最少知道
一个对象对其他对象保持最少的了解,尽量降低类与类之间的耦合度。
接口隔离原则
简单记:只保留用到的接口
如果客户程序需要使用到一个接口的具体实现,但是其中有很多方法不需要用到(空实现),则就应该把接口拆掉,只保留客户程序需要的接口。