little_bill 2010-03-12 23:23
浏览 185
已采纳

每周自动获取“单选题"作答如何设计啊?

需求是这样的:
每周出5道题,其中三道设计题目,两道开发题。每周都要自动更新题目。
答对加一分,打错减一分。

看似很简单,可我开发了3天。用了很笨的方法。
把每周五道题目,20个选择,再加上5个备选答案都放在一个类里面(TimeQuestion)。
根据时间区间,来获取每周唯一一条数据。(Time)
类之间的关系是Time--TimeQuestion 一对一的。

最后通过和数据库中备选答案值与用户选择答案值做判断的。
而不是拿ABCD作为答案。

哪位有更棒的设计方法。麻烦告诉小弟我。。。。这几天都被这个搞的头疼了。

  • 写回答

1条回答 默认 最新

  • iteye_13500 2010-03-13 11:51
    关注

    [quote]把每周五道题目,20个选择,再加上5个备选答案都放在一个类里面(TimeQuestion)。 [/quote]

    这样的设计扩张性不好,举个例如: 如果需求改了,每周要求出10道题,这个改动就太大了。

    个人觉得可以这样设计:

    把题目设计成一个类,每道题目是一个对象,可以把这道题目的4个选择和正确的答案设计成这道题目的属性,在加上一个时间属性(出题时间,个人觉得Time和问题暂时没有分开的必要)。这样以后改要求,每周出10道题目,你至少不用改数据库了。

    上面的设计还有很多问题,如果一道题目不是只有4个选择呢(5个,6个选择),或者答案可以有多个,甚至题型都可能改变(问答题,填空题等等)。如果考虑这些扩展,你的设计就还要变。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 python变量和列表之间的相互影响
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)