为什么java用接口,接口的技术为什么这么重要?如果你细细研读各大框架的源码,就会发现几乎所有的class,都有点刻意地弄出一个或几个接口来。
对于初学者(包括曾经的我)来说就真的很不理解,直接把类写出来它不香吗?
在早期的项目中,service类肯定是个接口,然后我们再写个实现类去实现这个接口,里面只写几个crud方法而已,多少有点脱裤子放屁之嫌。
工作久了我才明白这其中的真谛,你不搞接口,系统根本没法扩展。比如你要做一个系统,如果只是为了完成老师的任务,学校的毕设,你弄不弄接口,搞不搞设计模式,真的是无关紧要!可是对于一个企业级项目,不用接口就意味着系统的扩展性,稳定性几乎为零。
接口的目的是为了让设计稳固,减少变化。比如一个产品新增的业务,业务类里面可能调用几个接口把逻辑写完了,至于你怎么去实现是你的事情,核心的业务类就不需要再去重写。
以后你项目扩展,搞分布式,搞微服务,有了接口就方便太多了。rpc框架来调你的服务,也是只管调接口,至于你子系统怎么实现接口是你的事情,大方向正确就行了。
我要调个saveUser方法,你只管给我提供接口,我只需要知道参数,返回值。内部怎么实现,你是存MySQL数据库,还是es,那是你的事情,与我无关。
一个项目里面接口的多少,接口的设计质量直接决定了项目的整体质量。
以上就我我的理解,欢迎留言讨论,我是兔哥,欢迎和我一起交流,探讨技术问题。
标签:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)