案例05-前后端分离的好处(发送调查问卷)

简介: 前后端分离的好处(发送调查问卷)

一、背景

       以下流程图是给用户发送调查问的整体流程,将不必要的业务逻辑放到前端进行处理。这样导致逻辑混乱难以维护。前后端分离的其中一个目的是将功能的样式放在了前端将功能的业务逻辑放到了后端来处理。

91ca350dbf854a0cb1a559a7ca64d851.png

二、思路

       明确业务逻辑,梳理前端的功能样式和功能样式对应的后端接口。

三、过程

主要的业务逻辑

       1.在章节推送页面,查询三个执行的章节颗粒会调用后端接口保存规则在redis中。

       2.当章节颗粒执行的倒计时进入到10时,前端再调用后端接口获取该章节颗粒的激励配置,并返回个给前端。

       3.当章节颗粒结束时判断是否配置发送调查问卷如果配置了,就调用后端发送调查问卷的接口发送问卷,之后继续该流程,执行下一个章节颗粒。如果没有配置则继续该流程,执行下一个章节颗粒。

解决问题的思路

       1.将及时器放入到后端:这样的话在后端进行倒计时到十秒的时候调用获取激励规则,计时器到零秒时发送调查问卷。这样的话减少了前端的逻辑判断,将逻辑放入到后端进行。并且减少了入口。

       2.取消不必要的循环,在流程图上去除循环,没有必要进行调用。

3f85fa2107894eabaf5a67ed2eac3b2c.png

四、总结

       将同一功能的样式和逻辑计算进行了拆解,这样的好处1.提高了开发效率,前后端可以有对应的人员进行开发。2.增强了代码的可维护性,减少了样式和逻辑的耦合。解决问题方便定位。3.提高了复用性,适应能力强同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端。

体现了面向对象的思想。高扩充、高复用、低成本维护。


相关文章
|
iOS开发 MacOS 内存技术
解决 XtraFinder、TotalFinder 无法安装的问题(支持 macOS Monterey)
解决 XtraFinder、TotalFinder 无法安装的问题(支持 macOS Monterey)
1240 0
|
存储 数据可视化 测试技术
了解面向对象方法发展历程
【6月更文挑战第26天】本文介绍了几个面向对象发展中出现的典型方法。**Coad/Yourdon方法** **Booch方法** **OMT** **OOSE**。这四种方法都贡献于现代面向对象软件开发的。
339 0
了解面向对象方法发展历程
|
分布式计算 Hadoop 大数据
大数据技术:Hadoop与Spark的对比
【6月更文挑战第15天】**Hadoop与Spark对比摘要** Hadoop是分布式系统基础架构,擅长处理大规模批处理任务,依赖HDFS和MapReduce,具有高可靠性和生态多样性。Spark是快速数据处理引擎,侧重内存计算,提供多语言接口,支持机器学习和流处理,处理速度远超Hadoop,适合实时分析和交互式查询。两者在资源占用和生态系统上有差异,适用于不同应用场景。选择时需依据具体需求。
|
存储 缓存 关系型数据库
如何优化大表的查询速度?
本文介绍了优化大数据表查询速度的方法。关键点包括:1) 创建索引以加快查询;2) 优化查询语句,避免全表扫描;3) 使用缓存来提高查询效率,利用内存访问速度快和IO操作少的优势;4) 提升硬件配置,如使用固态硬盘和增加内存;5) 数据归档和分离,减少主表数据量;6) 实施数据库分片,如分库分表技术,以分散数据并提高并发性能。分库分表包括只分库、只分表(横向和纵向)以及两者结合,常见的分库分表中间件有ShardingSphere、MyCAT、TDDL和Vitess。这些策略通常结合使用,以应对大数据量查询的挑战。
846 1
|
12月前
|
Python
manim边学边做--形状匹配
【10月更文挑战第2天】在使用Manim进行形状匹配时,需先安装Manim并通过运行简单示例验证。Manim的基本概念包括场景(Stage)、图形(Mobjects)和动画(Animations)。创建形状匹配场景需定义新场景类,并在其中添加形状及变换动画。最后运行场景即可生成从正方形渐变为圆形的动画,适合边学边做。
220 1
|
负载均衡 算法 应用服务中间件
负载均衡技术在Web服务器集群中的应用
【8月更文第28天】随着互联网的发展和用户对Web服务需求的增长,单台服务器很难满足大规模访问的需求。为了提高系统的稳定性和扩展性,通常会采用Web服务器集群的方式。在这种架构中,负载均衡器扮演着至关重要的角色,它能够合理地分配客户端请求到不同的后端服务器上,从而实现资源的最优利用。
355 2
|
SQL 网络协议 数据库连接
"解锁数据连接新技能:Python携手SqlServer,轻松驾驭企业级数据库挑战!"
【8月更文挑战第21天】本文介绍如何在Python中连接SqlServer数据库。首先,需安装`pyodbc`库:`pip install pyodbc`。接着配置数据库详情如服务器地址、端口等。示例代码展示如何建立连接、执行查询及处理结果。务必确认TCP/IP已启用并使用合适ODBC驱动。了解这些步骤可助您更好地利用Python进行数据管理。
242 0
|
Linux 开发工具 开发者
智谱ChatGLM3本地私有化部署(Linux)
智谱ChatGLM3本地私有化部署(Linux)
421 0
|
缓存 关系型数据库 MySQL
【专栏】提升MySQL性能和高可用性的策略,包括索引优化、查询优化和事务管理
【4月更文挑战第27天】本文探讨了提升MySQL性能和高可用性的策略,包括索引优化、查询优化和事务管理。通过合理使用B-Tree和哈希索引,避免过度索引,以及优化查询语句和利用查询缓存,可以改善性能。事务管理中,应减小事务大小并及时提交,以保持系统效率。主从或双主复制可增强高可用性。综合运用这些方法,并根据实际需求调整,是优化MySQL的关键。
347 2
|
人工智能 自然语言处理 开发工具
免费部署一个开源大模型 MOSS
近日复旦大学自然语言处理实验室邱锡鹏教授团队研发的大语言模型 MOSS 也已公开发布并开源。MOSS 的公开发布无疑加剧了国内 ChatGPT 式产品的竞争。
1899 1