Java教程

浅谈前后端分离

本文主要是介绍浅谈前后端分离,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

开发模式

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

  • 确定需求(产品经理/领导/客户);

  • UI 设计效果图;

  • 前后端约定接口文档;

  • 前后端并行开发;

  • 前后端集成;

  • 需求交付(提测/上线);

前后端半分离

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

如图,为前后端半分离。

分离与半分离的标志在于谁握着组装数据的逻辑,如果在前端,那就是前后端分离!否则就是半分离!

前后端分离

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

如图,为前后端分离。

优点

  • 前后端彻底分离,即便后期有服务迁移,也不需改动前端代码;

  • 更好的适配前端,业务更向前靠拢,在 BFF 层进行接口组装;

  • 对于后端,确定了更清晰的服务边界;

  • 对于前端,可自行在 BFF 层 mock 数据;

缺点

  • 增加了开发成本;

  • 中间层转发增加请求延迟;

BFF 层大多数情况下归属于前端负责,使用 nodejs 开发,完成请求转发和数据转化。

架构图参考:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

反思

如果系统分层了,但是人的职责没分层,那就违反了康威定律!如果只有三五个开发,应该考虑的不是服务拆分,而是服务聚合。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

这篇关于浅谈前后端分离的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!