01.设计原则之接口隔离原则

接口隔离原则主张接口应小而精,避免迫使客户端依赖它们不需要的方法。文章通过定义、与单一职责原则的区别、实战案例分析及JDK源码解析,阐述了接口隔离原则的重要性,强调设计时应考虑接口的使用者需求,降低耦合性。
摘要由CSDN通过智能技术生成

接口隔离原则

定义

Interface Segregation Principle
指明客户端不应被迫使用对其而言无用的方法或功能。
拆分非常庞大臃肿的接口成为更小的和更具体的接口,这样客户端将会只需要知道他们感兴趣的方法。
目的是系统解开耦合,从而容易重构,更改和重新部署。

客户端:可以理解为接口的调用者或者使用者
理解接口隔离原则的关键,就是理解接口的含义,在这个原则中,我们可以把接口理解为:

  1. 一组API接口
  2. 单个API接口或者函数
  3. 如JAVA语言中的Interface

当我们把接口理解为一组API时,如果部分接口或者部分功能被客户端使用,那么我们就需要将这部分的接口隔离出来,单独给客户端使用。
当我们把接口理解为单个API或者函数,如果函数中部分功能,能被客户端调用,那么我们就需要单独把这部分功能封装成函数给调用者使用。
当我们把接口理解为JAVA语言中的interface,我们的interface设计尽量要单一,不要让接口的实现类和调用者,依赖不需要的接口函数。

简单来说,作为程序设计师在设计接口时,尽量缩小接口的范围,使得客户端的类不必实现其不需要的行为,不应该强迫客户端程序依赖
它们不用的方法。接口应该具备小而完备的行为。

根据接口隔离原则,你必须将"臃肿"的方法拆分为多个颗粒度更小的具体方法,客户端必须仅实现其实际需要的方法。否则,对于"臃肿"的接口
修改可能会导致程序出错,即使客户端根本没有使用修改后的方法。在JAVA这门面向对象语言中,一个类只能单继承,可以多实现。因此我们
没有必要将大量无关的行为塞到一个接口中,可以进行拆分为更精细的接口。

从定义来看接口隔离原则与单一职责原则的区别

单一职责原则针对的是模块、类、接口的设计。
接口隔离的原则相对于单一职责原则,一方面更侧重于接口的最小化设计,另一方面更侧重于接口使用的精确性
接口隔离原则提供了一种判断接口职责是否单一的标准:通过调用者如何使用接口来间接判定,如果调用者只使用了部分接口或接口的部分功能
那么接口设计的就不够职责单一

实战分析

下面我们以学生成绩管理程序介绍接口隔离原则
【例1】学生成绩管理程序
分析:学生成绩管理程序一般包含插入成绩、删除成绩、修改成绩、计算总分、计算均分、打印成绩信息、査询成绩信息等功能,
如果将这些功能

  • 40
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值