Spirng项目分层需要接口层吗?

甲蛙全栈

共 557字,需浏览 2分钟

 ·

2021-03-09 22:41



很多小伙伴都做过Spring/SpringBoot项目,在项目分层上,有些项目带了接口层,有些项目没有,需要接口层吗?


分享一位同学的疑问:


接口层原因

  • 其实早期Spring实现注入、AOP等,都是JDK自带的动态代理,JDK动态代理要求必须使用接口,所以早期的项目都是有各种接口,很多项目都一直延用,很多老程序员也都养成了习惯。现在Spring集成了cglib,不需要接口了也能实现注入,AOP了。

    - controller:接口入口
    - service:服务层接口
    - serviceImpl:服务层实现
    - dao:持久层接口(以前都叫dao,没有mapper)
    - daoImpl:持久层实现
  • 还有另一个原因,就是程序员会觉得有了接口层,项目多少能用点设计模式,看起来高大上一点。


是否有必要?

个人觉得没必要,作为业务逻辑来说,面向接口编程费力不讨好。我做过的很多项目,都没加接口层,也没啥问题。

接口一般配合上设计模式,写一些通用逻辑很好用,写业务功能没必要。


当然,用接口也没问题


浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报