很多小伙伴都做过Spring项目(基本都是SpringBoot项目),在项目分层上,有些项目带了接口层,有些项目没有,需要接口层吗?
分享一位同学的疑问:
接口层原因
其实早期Spring实现注入、AOP等,都是JDK自带的动态代理,JDK动态代理要求必须使用接口,所以早期的项目都是有各种接口,很多项目都一直延用,很多老程序员也都养成了习惯。现在Spring集成了cglib,不需要接口了也能实现注入,AOP了。
- controller:接口入口 - service:服务层接口 - serviceImpl:服务层实现 - dao:持久层接口(以前都叫dao,没有mapper) - daoImpl:持久层实现
还有另一个原因,就是程序员会觉得有了接口层,项目多少能用点设计模式,看起来高大上一点。
是否有必要?
个人觉得没必要,作为业务逻辑来说,面向接口编程费力不讨好。我做过的很多项目,都没加接口层,也没啥问题。
接口一般配合上设计模式,写一些通用逻辑很好用,写业务功能没必要。
当然,用接口也没问题
—————— 视频课程 ——————
—————— THE END ——————
原文链接:http://www.jiawablog.com/detail?id=155338729073020928
甲蛙博客,专注Java全栈技术分享
热门评论
标题拼错了。。。。。。