设计模式之美十六:接口隔离原则有哪三种应用?接口该如何理解

2020年02月04日11:48:21 科技 1633

王争《设计模式之美》笔记

如何理解“接口隔离原则”?

接口隔离原则的英文翻译是“ Interface Segregation Principle”,缩写为ISP。意思是:客户端不应该强迫依赖它不需要的接口。其中的“客户端”,可以理解为接口的调用者或者使用者。

理解接口隔离原则的关键,就是理解其中的“接口”二字。在这条原则中,我们可以把“接口”理解为下面三种东西:

  • 一组 API 接口集合
  • 单个 API 接口或函数
  • OOP 中的接口概念

把“接口”理解为一组 API 接口集合

UserService中添加删除用户功能时,新加RestrictedUserService给特定用户使用。

把“接口”理解为单个 API 接口或函数

把“接口”理解为 OOP 中的接口概念

通过RedisConfig、 MysqlConfig、KafkaConfig的热更新和在页面上展示,说明了符合接口隔离原则的代码:

1.设计思路更加灵活、易扩展、易复用

2.不符合的设计思路在代码实现上做了一些无用功

重点回顾

1. 如何理解“接口隔离原则”?

理解“接口隔离原则”的重点是理解其中的“接口”二字。这里有三种不同的理解。

如果把“接口”理解为一组接口集合,可以是某个微服务的接口,也可以是某个类库的接口等。如果部分接口只被部分调用者使用,我们就需要将这部分接口隔离出来,单独给这部分调用者使用,而不强迫其他调用者也依赖这部分不会被用到的接口。

如果把“接口”理解为单个 API 接口或函数,部分调用者只需要函数中的部分功能,那我 们就需要把函数拆分成粒度更细的多个函数,让调用者只依赖它需要的那个细粒度函数。

如果把“接口”理解为 OOP 中的接口,也可以理解为面向对象编程语言中的接口语法。那接口的设计要尽量单一,不要让接口的实现类和调用者,依赖不需要的接口函数。

2. 接口隔离原则与单一职责原则的区别

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

参考:https://time.geekbang.org/column/intro/250?code=gLit0LpsKZQ6vOVqS1htGOSAKYLCYeMuklw2dwajH-4%3D

科技分类资讯推荐

每天车闻:2025年新能源汽车下乡活动 - 天天要闻

每天车闻:2025年新能源汽车下乡活动

根据合作备忘录,基于大众汽车集团全新CMP平台的两款新能源车将于2027年在一汽-大众天津分公司投产。全面投产后,将强化一汽-大众在新能源汽车市场的竞争力,同时有力推动天津市新能源和智能网联汽车产业迈向高质量发展新台阶。
行业|阿维塔新能源市场的成功突围与未来发展 - 天天要闻

行业|阿维塔新能源市场的成功突围与未来发展

6 月 7 日,第二十七届重庆国际汽车展览会开幕,高端智能电动汽车品牌阿维塔携全系阵容亮相,宣布品牌累计销量突破 15 万辆,产品平均售价超 27 万元,展现其在新能源市场强劲发展势头与中国品牌在高端市场的成功突围。
东风汽车全方位稳健增长,加速新能源与智能化转型 - 天天要闻

东风汽车全方位稳健增长,加速新能源与智能化转型

近日,东风汽车公布了其5月份的销量数据,显示公司在市场中的稳健表现和强劲的发展势头。数据显示,东风汽车5月销售(零售)达到20.6万辆,同比增长1.3%。其中,新能源汽车销售表现尤为突出,达到8.1万辆,同比增长26.5%。这一系列数据不仅彰显了东风汽车在新能
Uzi荣登英雄联盟名人堂,梅赛德斯-奔驰致敬电竞传奇 - 天天要闻

Uzi荣登英雄联盟名人堂,梅赛德斯-奔驰致敬电竞传奇

6月6日,2025年“英雄联盟名人堂入选典礼”在上海成功举行,标志着中国电竞传奇选手简自豪(下称“Uzi”)正式成为中国大陆赛区首位、全球第二位入选“英雄联盟名人堂”的职业电竞人。这一里程碑式的成就不仅彰显了Uzi在电竞领域的卓越贡献和非凡实力,也为中国电竞史
35.99万元起售,传祺向往M8干昆在西南地区正式上市 - 天天要闻

35.99万元起售,传祺向往M8干昆在西南地区正式上市

2025重庆车展,广汽传祺、华为干昆、宁德时代三方合作的最新成果——传祺向往M8干昆在西南地区正式上市,售价为35.99万-40.99万元。作为集东方美学与智能科技于一身的奢享旗舰MPV,M8干昆搭载华为干昆智驾与鸿蒙座舱,配备百万级奢享座椅及全球独创720°
比亚迪王传福:用实力说话,不拉踩同行 - 天天要闻

比亚迪王传福:用实力说话,不拉踩同行

今天刷到王传福在2024年度股东大会上的发言,不拉踩同行是比亚迪的企业原则,这点确实需要国内厂商学习和贯彻。其实大家也能看到,这两年新能源汽车行业除了严重内卷之外,就是各种拉踩行为了,有的厂商各种手段齐上,恨不得直接把你干翻。
关键技术全系标配  从海豹06EV看比亚迪“大牌”风范 - 天天要闻

关键技术全系标配 从海豹06EV看比亚迪“大牌”风范

2025重庆国际车展开幕第一天(6月7日),比亚迪海洋网海豹06EV迎来了全新上市,作为纯电动轿跑新车,3款配置的官方售价仅为10.98万至12.98万元。同时还可享包括致臻焕新、致臻互联、致臻无忧、致臻延保及致臻充电等多重礼遇。
山城方盒子特惠,宝骏悦也 Plus 2026 款 7.68 万起售 - 天天要闻

山城方盒子特惠,宝骏悦也 Plus 2026 款 7.68 万起售

山城重庆,潮玩正当时。2025 年重庆车展不仅是车企竞技的舞台,更是消费者探寻高性价比车型的绝佳契机。在这场万众瞩目的盛会上,宝骏汽车以一场充满活力的区域上市发布会,正式揭开了悦也 Plus 2026 款的神秘面纱。这款主打 “全能潮玩” 定位的纯电 SUV,