Service层和Dao层真的有必要每个类都加上接口吗?

简单来说就是看情況。

主要看你项目:

  • 变动情况
  • 以及架构
  • 人员
  • 项目情况

比如,项目原来使用的hibernate,后续可能要切换为mybatis,那么dao就需要使用接口。这就不会影响上层代码的修改。

再比如,项目是个单体应用,任何代码的修改都需要重新编译整个项目,那可以不用接口。而如果项目是分模块编译部署的,那就可以使用接口解耦,假设dao有修改,只需要重新编译部署dao模块即可,不影响上层模块。

再来,如果项目组新手较多,可能简单的代码结构更适合。复杂项目结构的学习成本要高。

假如,项目进度很急,可以使用简单粗暴的方式先撸~

可以用经济学上的成本来解释原因。

经济学上的成本定义是:你做一件事,所放弃的其它事情中,价值最大的那件事的价值就是你做这件事的成本。

你使用接口的成本就是你不使用接口所花费的成本(包括后续的维护成本)。

如果项目变动多、模块部署、项目不急,那使用接口的成本就低于不使用接口的成本,虽然早期可能不用接口看起来更简单;反之,则不用接口的成本低,甚至框架都可以不使用~

毕竟工具是为了提高效率的,何必和自己过不去呢!

文章分类 Binance消息 标签: