接口隔离原则

接口隔离原则

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

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

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

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

最后是场景调用类:

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

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

搜索类及其子类如下:

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

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

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

相关推荐
WarrenMondeville8 小时前
4.Unity面向对象-接口隔离原则
java·unity·接口隔离原则
GGbond--9 天前
2026年最佳静态ISP代理:最佳提供商、功能和测评
java·服务器·人工智能·深度学习·接口隔离原则
Kaede61 个月前
IDC和ISP分别是什么意思,有什么区别?
网络·接口隔离原则
大熊背1 个月前
工业级 ISP 常用压缩算--自适应位宽 (Adaptive Bit-depth)具体原理
接口隔离原则
跨境小技2 个月前
静态住宅ISP代理:企业如何选择住宅代理IP?2026深度解析指南
网络·tcp/ip·接口隔离原则
BD_Marathon2 个月前
设计模式——接口隔离原则
java·设计模式·接口隔离原则
CheungChunChiu2 个月前
模拟 GStreamer 获取帧率能力:CIF 与 ISP 的差异
linux·网络·接口隔离原则·isp·cif·gst
8K超高清2 个月前
博冠8K广播级讯道摄像机获国际设计大奖
网络·算法·fpga开发·接口隔离原则·智能硬件
SmkbknJLGX2 个月前
牛顿拉夫逊基波潮流计算通用型程序,runpf函数的替换,可提供matlab版和python版
接口隔离原则
程序员zgh2 个月前
C++ 纯虚函数 — 抽象接口
c语言·开发语言·c++·经验分享·笔记·接口隔离原则