共计 763 个字符,预计需要花费 2 分钟才能阅读完成。
前段日子在社群(点击退出)里看到有人探讨对于 Service 层接口的问题,DD 也常常碰到四周的新人有问过一些相似的问题:肯定要写个 Service 层的接口吗?Service 层的接口到底用做什么用的呢?如同都没什么用啊?
说说我的认识:
Service 层在业务逻辑不简单的时候,仿佛是没有什么用,然而随着利用迭代,业务逻辑变得复杂了之后,这一层是十分有用的。
次要体现在这几个方面:
1、更适宜用来解决简单的业务逻辑,可能会波及多张表的操作,甚至还混杂着音讯投递、接口调用等一系列的简单综合性事务,这也是咱们常说的事务管理所处的档次。
2、对体现层的复用反对,往往咱们一个业务逻辑解决,不会单单只利用在一个 API 接口或页面上,如果间接把这部分内容写到 Controller 中,那当呈现反复操作的时候就会产生复制黏贴,当前再要保护这段逻辑就麻烦了
3、对单元测试的反对,通过独自的一层 service 实现业务逻辑,那么对于业务逻辑的单元测试会更容易编写,只须要对 service 来编写就能够了;而 web 层的单元测试就不须要关注业务自身,只须要关注反馈格局就行了;不然 web 层就既要思考业务逻辑的计算,还要思考 web 反馈的格局验证,太过简单。
4、业务逻辑的组装反对,因为 Controller 中依赖的是 Service 接口的定义,而具体实现能够有很多种,随着不同的须要能够注入不同的实现,能够比拟好的实现多种业务逻辑版本共存。而如果间接把业务逻辑写了 Controller,再要替换的时候,就比拟麻烦了。
所以,Service 层的设计是十分有必要的,这在单体利用的可维护性和可测试性上都占据了十分重要的位置。
换你思考了,你感觉 Service 层接口是否有必要呢?
欢送关注我的公众号:程序猿 DD,取得独家整顿的收费学习资源助力你的 Java 学习之路!另每周赠书不停哦~