为什么要进行前后端分离

在面试时被问到为什么要前后端分离时该怎么回答?


 

  • 1、前后端分离的原因

    从本质上来看前后端分离本身并不是一个技术问题,而是一个工程化考量和项目管理的问题。在早些年的时候,Web化趋势还不是那么明显,JSP可以应付大多数的业务场景,但是随着整个社会信息化程度的加深,以及各种各样的服务都Web化以后,前端的页面开始变得复杂起来,JSP这种前后端高耦合的技术就不是那么的好用了。其本质的原因,是因为前端并没有像后端一样,工程化、模块化和可复用化的思维来做。所以项目管理者就开始对项目进行解耦。


  • 2、什么是解耦

    解耦本身的概念是降低事务之间的耦合度,耦合度则是指事务与事务之间的关联性程度。在软件行业里,解耦往往代表着降低软件逻辑之间的依赖性,其中的代表就是spring的IOC。一般在软件行业看到解耦的概念,就可以认为是降低依赖性,使得整体的逻辑层次更加清晰这个概念。清晰的逻辑分层有助于代码工程的开发,对于程序员的自我修养以及代码的维护很有帮助。


  • 3、怎么做前后端分离

    把前端开发工作从后端中分离出来,让前端开发工程化、组件化。那么该怎么做才算是优雅的前后端分离呢?在一个正常的软件开发周期中,简化的来讲应该分为四大步:设计、开发、测试和部署。而真正的前后端分离就应该渗透到这四个步骤中的每一个步骤中去。

  • 3.1、设计阶段

    系统设计:

前端:做好充分的规划和准备,一定要满足长期可演进、可迭代的目标

后端:后端架构、系统架构设计、数据库、中间件、缓存等等,主要考虑性能、容量、扩展性和可维护性

  接口设计:

前后端定义好模型层面的接口约定,包括接口的请求方式、数据类型和数据的格式等等

 

  • 3.2、开发阶段:

    前后端按照设计阶段定义好的接口独立开发,前端数据可以从事先规划好的mock服务器中获取,数据是完全模拟的,完全不需要依赖后端的接口。后端只需要把接口写好,按照之前的接口约定来提供数据即可

  • 3.3、测试阶段:

    在测试阶段要保证前后端独立可测试,前端主要是页面、跳转、展示、输入、传参以及响应数据的展示等等。后端主要保证数据接口的提供,如数据格式、校验、异常情况、数据的一致性问题以及权限问题等等。

  • 3.4、系统部署阶段:

    在部署阶段,前后端分离最重要的就是前后端项目独立可部署。


  • 4、前后端分离这么火的原因

    前后端的分离解决了一个问题,那就是静态资源(页面)和动态资源(数据接口)的分离,以前的JSP因为是直接把数据嵌入页面的,导致页面资源也是动态的,这样子会导致服务器性能的下降。而在进行前后端分离之后,静态资源是进入到缓存当中,这样可以有效的降低服务器的负载,提升服务器性能。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值