接口隔离原则

接口隔离原则

接口隔离原则就是客户端不应该依赖它不需要的接口,或者说类间的依赖关系应该建立在最小的接口上。

我们以搜索美女为例,设计了如下的类图:

源代码如下。美女及其实现类:

搜索程序及其子类源代码如下:

最后是场景调用类:

上面实现了一个搜索美女的小程序。我们想象这个程序有没有问题?IPettyGirl接口是否做到了最优化?并没有。

每个人的审美观不一样,张三认为颜值高就是美女,即使身材和气质一般;李四认为身材好就行,不在乎颜值和气质;而王五则认为颜值和身材都是外在,只要有气质,那就是美女。这时,IPettyGirl接口就满足不了了,因为IPettyGirl的要求是颜值、身材、气质兼具才是美女。所以为了满足各种人的口味,我们需要重新设计接口的结构。把IPettyGirl拆分为3个接口,分别表示颜值高、身材好、气质佳。修改后的类图如下:

搜索类及其子类如下:

通过重构以后,不管以后需要颜值美女,还是需要身材美女,抑或气质美女,都可以保持接口的稳定性。

以上把一个臃肿的接口拆分为三个独立的接口所依赖的原则就是接口隔离原则。接口隔离原则是对接口进行规范约束。

如果对你有帮助,就一键三连呗(点赞+收藏+关注),我会持续更新更多干货~~

相关推荐
ccbw1610 天前
从一颗录音豆说起:AI会议转写的端侧方案与选型
人工智能·接口隔离原则·码率·采集
星核0penstarry15 天前
企业 API 向后兼容实战:版本控制、废弃字段通知与灰度发布策略
人工智能·后端·api·接口隔离原则·版本控制·架构设计·后端架构
OCR_1337162127517 天前
户外强光下护照OCR为什么崩?从ISP到边缘AI,拆一下ER阅读器的抗眩光架构
人工智能·ocr·接口隔离原则
ccbw1617 天前
CH634 四端口 USB3.0 HUB 控制器方案拆解与国产替代选型
接口隔离原则·摄像头
xunyan623420 天前
4-2 动态数码管显示(SDCC + Notepad++ + STC-ISP/普中ISP)
接口隔离原则
xunyan62341 个月前
4-1 静态数码管显示(SDCC + Notepad++ + STC-ISP/普中ISP)
接口隔离原则
xunyan62341 个月前
3-1 独立按键控制LED亮灭(SDCC + Notepad++ + STC-ISP/普中ISP)
单片机·嵌入式硬件·接口隔离原则
kyle~1 个月前
实时系统通信抖动(Jitter)
计算机视觉·机器人·接口隔离原则·传感器
xunyan62341 个月前
3-1 独立按键控制LED状态(SDCC + Notepad++ + STC-ISP/普中ISP)
notepad++·接口隔离原则
xunyan62341 个月前
3-3 独立按键控制LED显示二进制(SDCC + Notepad++ + STC-ISP/普中ISP)
接口隔离原则