2021-10-14

前后端分离逻辑和框架


前言

说起前后端分离,很多人都认为是拆分前端和后端,这样理解没有错,但其实只是一种浅平层的理解,其实前后端分离深层次的改变是改写了数据的传输途径和方式,也细分了前端和后端具体的工作。


一、前后端分离是什么?

在研究前后端分离的前提下,我们先研究前后端不分离的MVC框架:
在这里插入图片描述
从上面的MVC框架可以看出MVC有着控制层,模型层,视图层的划分,视图层也就是我们常说的前端页面,模型层负责生产实例,而控制层去写控制逻辑。从而形成了一个循环,将最终的视图返还给客户端。这样程序执行一个很大的灰色地带是 Controller,页面路由等功能本应该是前端最关注的,前端就能够实现,但却是由后端来实现。而且Controller本身与 Model往往也会纠缠不清,看了让人咬牙的业务代码经常会出现在 Controller 层。这样controller层既负责前端页面跳转,又负责业务逻辑,职能混乱,代码逻辑上下衔接混乱,可读性差,不易于维护。
那我们怎么办呢,当然是对controller进行拆分,让前端负责前端的事情,将业务代码抽离,由service层进行负责。而controller就负责自己的事情,接受客户端提供的请求,调用service处理,待返回合适的数据后,在response给前端进行页面渲染。也就是下面的结构:
在这里插入图片描述

二、如何分离

1.数据分离

在这里插入图片描述

2.职责分离

在这里插入图片描述

后端编写和维护接口文档,在 API 变化时更新接口文档。后端根据接口文档进行接口开发。前端根据接口文档进行开发 + Mock平台。Mock 服务器根据接口文档自动生成 Mock 数据,实现了接口文档即API。开发完成后联调和提交测试。测试可以使用postman或者jmeter这些工具。


总结

前后端分离是目前开发互联网主流,好处多多,对于一些复杂系统,前后端分离的优势很明显,代码易扩展,系统易扩展,以前后端分离模式开发的系统是一个成长型系统,而且对于如今Spring Boot框架的整合,前后端分离也有着自己的优势,能够极大地简化开发人员的coding量,并且降低coding难度,极大地减轻了后端开发的难度和代码量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值