接着上篇博客“模板优化一”提到到模板优化继续进行。
模板优化一中这么添加模板:学院——》课程——》考试——》场次——》模板。
一、用户体验不好
根据用户使用经验得出一个这样的问题:每次添加一个考试,只要想考试,就必须针对这个考试添加至少一个模板,才可以保证抽取试题成功。
那么要是一门课程下,有N个考试,按照以上逻辑,就需要添加N个模板。每个考试基本都需要重复相同的步骤,还是“用户经验”告诉我,这样做有点浪费,怎么浪费呢?
同一门课程下的题型,章节是一致的,也就是说只要是这门课下的考试,需要的模板有可能是一样的,所以模板是可以在不同考试之间复用的。
二、根据课程模板模板,特殊情况,根据考试配置模板
思路:1、根据课程配置几种不同模板,然后根据考试的不同需要,来选择配置好的不同模板进行绑定,达到模板复用的目的。
2、有特殊需求的考试,单独配置模板。
学院——》课程——》添加模板。
考试——》场次——》绑定模板
三、模板绑定——两种不同数据库结构处理
模板绑定设计到两个实体:考试,模板。
1、从模板实体中绑定考试
——模板实体中有“考试”,“场次”字段,考试实体中没有“模板”字段。
这种情况下,如果一个模板A被绑定,就不可以被复用了,违背了以上思路,所以我们需要在模板和试卷绑定的时候,将这个模板复制出一个相同的模板A1,插入到模板表中,A依赖课程做公共模板,A1变为私有模板跟考试,场次绑定,以保证每场考试都有自己的模板。
2、从考试实体中绑定模板
——考试实体中有“模板”字段,模板实体中没有“考试”,“场次”字段。
这个情况,在考试和模板绑定的时候,需要将模板ID更新到考试表中。而模板表中不用发生任何改变。
以上两种情况,个人比较喜欢第二种方法,简单,而且不用再模板表中插入重复数据。