接口隔离原则

接口隔离原则

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

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

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

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

最后是场景调用类:

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

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

搜索类及其子类如下:

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

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

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

相关推荐
口袋物联3 天前
图解码说-六大设计原则(开闭原则、单一职责原则、里氏替换原则、接口隔离原则、依赖倒置原则、迪米特法则)
接口隔离原则·依赖倒置原则·里氏替换原则·开闭原则·单一职责原则·设计模式原则·迪米特法原则
weixin_Todd_Wong201016 天前
基于海思AI ISP视频编解码IPC平台的算法承载方案
接口隔离原则·视频编解码
来生硬件工程师25 天前
【STM32笔记】:P03 ISP 一键下载电路详解
c语言·笔记·stm32·嵌入式硬件·硬件工程·接口隔离原则·硬件设计
K_i13425 天前
云原生网络基础:IP、端口与网关实战
网络·ip·接口隔离原则
真正的醒悟2 个月前
上网管理行为-ISP路由部署
服务器·php·接口隔离原则
liefyuan3 个月前
【音视频】ISP能力
音视频·接口隔离原则
德育处主任Pro3 个月前
构建持久性:API依赖型系统与演示的弹性策略
接口隔离原则
WPG大大通3 个月前
联咏ivot 芯片新技术应用与创新:AI-ISP, MLLM, NVR and NAS
接口隔离原则·大大通·研讨会
WISHMELUCK1'4 个月前
设计模式的六大设计原则
设计模式·接口隔离原则·依赖倒置原则·里氏替换原则·迪米特法则·合成复用原则·单一职责原则
英杰.王5 个月前
设计模式-接口隔离原则(Interface Segregation Principle, ISP)
设计模式·接口隔离原则