网易首页 > 网易号 > 正文 申请入驻

到底为什么要对面向接口开发?

0
分享至

接触java后,各种书籍、文章、平台都在强调面向接口开发的重要性。在工作中,用的最多的可能是定义IService接口,然后ServiceImpl实现,但再写了大量这样的代码后,好像并没有体会到这样的接口有什么特别的优点。

  可能很多接触java的朋友,都或多或少的有上面的这种感觉,感觉面向接口好像是解耦了,但这种解耦好像又没有什么太大的意义。结合实际开发,来总结下自己的一些认识。

  抽象和解耦

  编程领域中,非常重要的两个概念, 抽象和 解耦,这也就是面向接口开发要达到的效果。

  文章开头提到的那种接口方式,95%的场景其实是没有意义的,通常项目中service层的业务,其实是没有抽象的必要的。因为service是为web接口提供具体业务能力的,简单的web接口可能就是对参数进行一下传递,直接调用service实现就可以,所以说95%的抽象其实是没有太大意义的。

  好的抽象

  JDK中就有很多抽象,比如最常用的ListMap。Map是一个接口,基于Map接口的抽象实现有HashMap/TreeMap/Hashtable/SortedMap,Map就是一个抽象,它定义了Map类型的数据应该有的能力,如:get/put/remove/putAll/clear等等,但同样的接口方法,不同的实现类有不同的特性,比如是否允许key为null,这里就不细说了。

  有了Map的抽象,定义了统一的数据结构:只要是Map类型的对象,大家都知道get/put/remove等方法的功能是一样的,如果没有这层抽象,同样一个put功能,不同的实现是不同的人开发的,可能会有很多不同的名字put/add/set/input等等,这就会对使用这造成困扰。

  业务开发中的接口

  像底层的工具和代码,都是运用了大量的抽象,但在业务开发中似乎不需要这种过于严谨的抽象,那面向接口开发对于业务开发还有意义吗?

  有意义!!!

  上面说的service的抽象感觉很没有必要,但为了防止项目发展的过程中有这样的需要,所以基本上所有的项目,也按照接口和接口实现的方式开发,这是其中一方面。

  还有运用最多的地方就是RPC接口,RPC接口就是把业务服务抽取出一个API module,在这个modle中只定义接口、入参和出参。需要调用服务的RPC只需要引用这个API module,两个服务间约定好入参和出参,消费方不需要关注接口是如何实现的,不管生产者的实现如何升级,只要约定的接口不变,消费方就不需要有任何变化。这就利用接口,完成了解耦。如果不用接口进行解耦,那么每次生产者的内部逻辑调整,消费方就要配合升级,这无疑是噩梦。

  中间件的抽象

  项目在开发的过程中,会用到各种中间件技术,比如:缓存、数据库、文件服务器、mq等,这些中间件在随着项目的发展,不可避免的会出现技术选型更换的情况。如文件服务器可选的有:FastDFS、minio、阿里SSO、ftp文件服务器等,可能随着业务的发展,在项目初期选择的中间件产品已经不适用了,需要更换新的技术产品,如果没有进行抽象和解耦设计,将调用中间件的具体实现混杂在业务代码中,将是非常难以更换的。

  这就可以利用接口进行抽象,比如文件服务器,虽然有各种各样的产品,但在上传文件时这些参数一般是通用的,如: 文件流、文件名称、保存路径等,如果用到SSO产品可能还有桶的概念。将文件上传的功能抽象为接口,利用spring framework的依赖注入特性,业务层只需要关注接口,而不用关心具体的实现类。这样,在更换技术产品的时候,就能在不影响业务的情况下,完成技术产品的替换。

  同理,ORM框架通过一层接口抽象,就可以在对业务代码毫无影响的情况下,使用 Mybatis或者 JPA等ORM框架。缓存通过接口抽象后,也可以选择使用 本地缓存或者 Redis缓存。

  目的只有一个,将业务实现与中间件调用实现解耦。

  最后

  抽象、解耦,以及接口的使用,远远不止这些。这些只是个人工作期间的一些简单的思考,在这里分享一下,如果有什么不正确的理解欢迎大家指正。

  福利

  IT架构师/技术大咖的交流圈子,为您提供架构体系知识、技术文章、流行实践案例、解决方案等,行业大咖分享交流/同行经验分享互动,期待你的加入!扫码即可加入哦

  随着材料不断增多社群会不定期涨价早加入更优惠

  公众号发送如下关键字获取免费资料:

  1.架构电子书视频--回复"架构"

  2.架构实践案例集--回复"实践"

  3.Docker实战文档--回复"docker"

  4.技术架构规划文档--回复"规划"

  5.华为鸿蒙技术资料--回复"华为"

  免责声明:

  本号部分分享的资料来自网络收集和整理,所有文字和图片版权归属于原作者所有,且仅代表作者个人观点,与本号无关,文章仅供读者学习交流使用,并请自行核实相关内容,如文章内容涉及侵权,请联系后台管理员删除。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
22岁失联女孩遗体遭曝光,体重90斤抬不动,借助无人机运送上崖

22岁失联女孩遗体遭曝光,体重90斤抬不动,借助无人机运送上崖

江山挥笔
2026-08-12 18:38:22
长江存储出货量首次跻身全球前三

长江存储出货量首次跻身全球前三

南方都市报
2026-08-12 16:58:05
带张本宇夫妻赴日的何智丽,独居大阪 离婚无儿女,如今想回国养

带张本宇夫妻赴日的何智丽,独居大阪 离婚无儿女,如今想回国养

舍长阿爷谈事
2026-08-13 10:54:21
看蒋万安给儿子们起的名字,就知道他骨子里的中国人身份,藏不住

看蒋万安给儿子们起的名字,就知道他骨子里的中国人身份,藏不住

莫地方
2026-07-11 23:16:26
越南偷家失败?中国南海反击战打响!专家表示:这次绝不手软!

越南偷家失败?中国南海反击战打响!专家表示:这次绝不手软!

云鹏叙事
2026-08-13 09:48:35
秦始皇子孙后代被找到,这四个姓氏都是他的后裔,有你的姓氏吗?

秦始皇子孙后代被找到,这四个姓氏都是他的后裔,有你的姓氏吗?

每日一首古诗词
2026-08-13 06:06:15
潘展乐世界纪录保住了!波波维奇欧锦赛46秒56夺冠,向小潘做手势

潘展乐世界纪录保住了!波波维奇欧锦赛46秒56夺冠,向小潘做手势

杨华评论
2026-08-13 02:02:49
日本:2nm 芯片试产成功!顶尖光刻机随便买,誓言要超台积电!

日本:2nm 芯片试产成功!顶尖光刻机随便买,誓言要超台积电!

兵卒史
2026-08-12 08:54:48
太心酸了!42岁著名女歌手江苏走穴,宾客只顾吃席没人搭理

太心酸了!42岁著名女歌手江苏走穴,宾客只顾吃席没人搭理

小徐讲八卦
2026-02-12 12:13:20
1938年延安病房,毛主席对马占山说:你要死在这儿,我可洗不清了

1938年延安病房,毛主席对马占山说:你要死在这儿,我可洗不清了

人间无味啊
2026-08-13 13:42:40
“我人生最后一天啦”,女顾客收到外卖小哥信息果断报警,曾跳桥救人的彭清林又出手了

“我人生最后一天啦”,女顾客收到外卖小哥信息果断报警,曾跳桥救人的彭清林又出手了

潇湘晨报
2026-08-12 15:18:13
中国男篮12人大名单出炉!胡明轩焦泊乔入选,崔永熙无缘,庞峥麟免检

中国男篮12人大名单出炉!胡明轩焦泊乔入选,崔永熙无缘,庞峥麟免检

多特体育说
2026-08-13 14:39:07
王水牛事件涉事女生拼命清理账号,作为受害者也跟着一起遭殃

王水牛事件涉事女生拼命清理账号,作为受害者也跟着一起遭殃

映射生活的身影
2026-08-12 17:18:36
伊朗最高领袖连夜签了6张任命状:71岁老将一人身兼两个关键职位,他前面两任全死于空袭

伊朗最高领袖连夜签了6张任命状:71岁老将一人身兼两个关键职位,他前面两任全死于空袭

网易新闻出品
2026-08-11 18:56:48
张雪机车冠军车手德比斯来华 首次上路开接驳车兜风 身旁媳妇笑得合不拢嘴

张雪机车冠军车手德比斯来华 首次上路开接驳车兜风 身旁媳妇笑得合不拢嘴

快科技
2026-08-13 09:57:09
年纪大了,行房要坚持这4点,尤其是最后1个,至关重要!

年纪大了,行房要坚持这4点,尤其是最后1个,至关重要!

皓皓情感说
2026-08-13 08:01:38
胖东来把全国房东都干懵了!

胖东来把全国房东都干懵了!

贩财局
2026-08-11 16:28:26
斗胆为郭德纲说几句

斗胆为郭德纲说几句

亮见
2026-08-13 15:27:12
财经大V:80%的男人一个月赚不到7000元,如果你税后7000元,不管男女,你可能已经胜过90%的人,评论区一片认同

财经大V:80%的男人一个月赚不到7000元,如果你税后7000元,不管男女,你可能已经胜过90%的人,评论区一片认同

谭谈社会
2026-08-11 20:56:50
程梦圆大哥直播翻消费记录:妹妹只住了三天,少掉的两天到底去哪

程梦圆大哥直播翻消费记录:妹妹只住了三天,少掉的两天到底去哪

陈意小可爱
2026-08-12 15:13:33
2026-08-13 16:00:49
IT架构师联盟 incentive-icons
IT架构师联盟
IT架构实战分享
844文章数 7671关注度
往期回顾 全部

科技要闻

DeepSeek V4 Pro更新:性价比炸裂 仍需打磨

头条要闻

于东来宣布胖东来许昌生活广场年底关闭 周围商户发声

头条要闻

于东来宣布胖东来许昌生活广场年底关闭 周围商户发声

体育要闻

负债十几亿的联赛,还在疯狂买球星

娱乐要闻

篡改红歌已立案,郭德纲大祸临头

财经要闻

韩国可能迎来失去的三十年

汽车要闻

试了奇瑞捷豹路虎神行者8,才知道它的i-ATS有多强?

态度原创

手机
旅游
艺术
家居
军事航空

手机要闻

三款性能旗舰怎么选?一加Ace 6至尊版领衔,游戏党的终极对决

旅游要闻

灯火璀璨 枣庄鲁南水城逛吃游玩一站式安排 互动氛围感拉满

艺术要闻

于小冬 2026泽库写生新作

家居要闻

2026建博会(广州) 公装联探展交流活动

军事要闻

特朗普发文:伊朗已经完蛋

无障碍浏览 进入关怀版