在设计过程中遇到几个问题:
1、原来设计了一个BaseQuestion作为基类,然后判断题,单选题和多选题实体类从这个基类中继承。这样就产生一个问题,从数据库中取出来的时候,如何把所有类型的问题都放到一个list中
2、在页面显示各个问题的时候,需要大量的判断,而且如果以后又增加新的题型,可能代码需要很多修改,这种情况如何考虑避免?
在系统设计方面经验不足,希望大家多给些建议。多谢
在设计过程中遇到几个问题:
1、原来设计了一个BaseQuestion作为基类,然后判断题,单选题和多选题实体类从这个基类中继承。这样就产生一个问题,从数据库中取出来的时候,如何把所有类型的问题都放到一个list中
2、在页面显示各个问题的时候,需要大量的判断,而且如果以后又增加新的题型,可能代码需要很多修改,这种情况如何考虑避免?
在系统设计方面经验不足,希望大家多给些建议。多谢
先从场景入手分析,不了解场景就进行归纳抽象很危险。
所以问题只需要Question(主题)、QuestionBlanks(问)、QuestionBlankOptions(问的选项)即可。
主题:今天早晨你上了(1)网,中午上了(2)网?
问:(1)[格式:枚举],(2)[格式:文本]
问的选项:(1)的选项:A.jdon[正确答案],B.infoq
(2)的选项: [文本格式无需选项]
有道理,先分清显式形式和隐式模型,数据库属于隐式模型。
目前我采用的这种继承的方式,在功能实现中遇到很多的问题。。如何改变这种基类继承的设计?