【Java高级工程师蜕变之路】074 架构设计基本原则之接口隔离原则(ISP)

接口隔离原则(ISP)

ISP, Interface Segregation Principles 接口隔离原则

接口隔离原则的定义

将接口拆分成更小更具体的接口,让接口中只包含用户感兴趣的方法。

接口隔离和单一职责都是为了高类聚、低耦合,体现了封装思想。两者区别:

  1. 单一职责注重的是职责,接口隔离注重对接口依赖的隔离
  2. 单一职责主要约束类,针对的是程序中的实现和细节,接口隔离主要约束接口,主要针对抽象和程序整体框架的构建。

接口隔离原则的优点

接口隔离是为了约束接口,降低类对接口的依赖性,优点如下:

  1. 提个系统灵活性和可维护性
  2. 降低系统耦合性
  3. 提高系统稳定性
  4. 多个接口能体现抽象的层次,通过接口继承,实现对总接口的定义
  5. 减少代码冗余

接口隔离的实现方法

应用接口隔离,有几个规则需要衡量:

  1. 接口尽量小,但是要有限度。一个接口只服务于一个子模块或者业务逻辑。
  2. 为依赖接口的类定制服务。只提供调用者需要的方法,屏蔽不需要的方法。
  3. 根据具体业务和环境来定,不盲目拆分。
  4. 提高内聚,减少对外交互。使接口用最少的方法完成最多的事情。

以学生管理程序为例:

学生程序管理一般包含插入成绩、删除成绩、修改成绩、计算总分、计算平均分、打印成绩、查询成绩等功能

  1. 放在一个接口中,不太合理

    image-20220415112605270

  2. 放到三个接口中

    image-20220415113239007

posted @ 2022-05-04 22:54  灯塔下的守望者  阅读(14)  评论(0编辑  收藏  举报