分享一个关于数据链的技巧

假设有这么场景,一个考试系统,有两种题型,一种题是一个问题,一种题是一堆题,后者是属于问题链,也就是,要答对一堆题,才能算是完成一个题目。

那么,我们在数据中是怎么去表示这种一堆题呢,方法有多种,可以加个表作为连接信息,也可以加个字段表示,表示方法也有很多种,有总-分,也有分。我推荐用最小的操作,即加一个下一题的字段,如果一道题的完成需要完成a,b,c三个子问题,可以在a的下一题填入b,b的下一题填入c,如果不填,则表示只有一个问题的题目。

现在问题来了,数据库倒是不难,可是传输数据怎么设计,假设用json作为传输数据,要怎么去表示一堆题的逻辑关系。数据接口要保证一致性,不管是一个题目,还是问题链,数据接口都是一样的,所以最直观的办法就是预留一个下一题的字段,如果有多个题目,把下一题的信息嵌进去下一题字段。 说起来容易,真正在代码里面实现就比较考验技巧了,这里推荐一个很实用的技巧:巧用递归,把单个问题的封装做成一个方法,当判断有一题时,使用递归,最终把问题链的关系展示出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值