我们都知道熟悉的三层架构:
- mapper(dao)层:数据传输对象,一般是把数据库表封装成对象,表的各个字段就是该对象的各个变量。
- service层:相对具体的业务逻辑服务层。
- controller层:主要负责接受前台的数据和请求,并且在底层处理完之后把结果返回回去,一般不能写业务逻辑在这一层,因为第一造成了不可复用,第二以后的维护困难,第三这一层没有上层,如果给用户返回了奇怪的错误信息会不好看。
如果是小应用,而且后续扩展的可能性不高,只需要Dao——service——controller的,但是去到公司发现,公司的项目使用的不是三层架构,而是五层架构。因为公司的项目普遍都是比较大的。
会多了biz层和manager层。(咱们也不废话,先 介绍这两层的作用)
- manager层:负责将Dao层中的数据库操作组合复用,主要是一些缓存方案,中间件的处理,以及对第三方平台封装的层。
- biz层: 包含service层,service层注重基础业务的处理,biz层是复杂应用层的业务层。
manager层好理解,那biz层的作用是干啥呢?我们的service层不是可以进行互相调用吗,这样就够了呀?
确实,service是可以互相调用的,也是可以实现业务的。但如果业务稍微复杂点用service层 比如你一个service引入了两三个别的service ,业务再复杂点一个service要引入十来个别的service,这时候service又操作dao又操作别的service,那么如果不用biz层, 代码会很乱且臃肿的
所以,biz层的存在是很有必要的。
文献参考:https://blog.csdn.net/qq_42685588/article/details/107830722