前言
之前我总结了依赖倒置原则,这次把剩下的几种原则都重新学习一遍。
依赖倒置原则可以参考-依赖倒置原则的简单理解
单一职责原则,开闭原则,接口隔离原则的总结
1.单一职责原则(SRP)
什么是单一职责原则呢?单一职责的定义是什么呢?
解释如下:
通俗的讲单一职责原则,就是把一个接口拆分为两个接口的动作。
那单一职责原则的定义是,单一职责的定义就是:应该有且只有一个原因引起该类的变化。
如图所示,买票这个类实现了两个接口,因为是面向接口编程,所以即便是有两个接口,网上购买接口(IOnline),打电话接口(IUsePhone),对外公布的是类而不是接口,即符合单一职责原则。
2.开闭原则(OCP)
还记得最开始上课设计模式的时候,老师问什么,我们都答开闭原则。开闭原则使用的几率也真的很高。
简单的说开闭原则就是:模块和函数扩展对外开放,对修改关闭。即尽量在实现功能时通过扩展实现,而不是通过修改原来的代码实现。
为了满足开闭原则,需要对系统进行抽象化设计,抽象化也是开闭原则的关键。
所以现在很多面向对象的语言都提供了接口,抽象类等机制,可以通过这些来定义系统的抽象层,再通过具体的类来进行扩展。
比如你租了一间房子,只有一把钥匙,后面你朋友来你这里玩几天,你又要工作,所以你不能给门敲了重新装一个门,你要在配一把钥匙,就是扩展。
3.接口隔离原则(ISP)
定义:一个类对于另一个类的依赖应该建立在最小的接口上(客户端不应该被迫依赖于他不使用的方法上)