以前的做法是將題型寫死在**裡,乙個題型乙個模板、一套處理邏輯和顯示方式,當來乙個新的題型時就要新增相應的**,即使這個題型和已有題型很相似。其實,細細想來,這些題型有很多相似之地,所以如果把這些題型再細化,將公共的東西當做一類,其他不同的分別當做一類,,所有題型都可以看做是有選項或者填空項組成的,這樣細分,沒幾個,還能達到新題型變化不修改**的效果。
這裡,我分為六快,分別是
base
、單選項、多選項、填空項、巢狀題型項、答案解析項,因為
base
和答案解析是必須的,所以在新增題型頁面就不要顯示出來,例如,我們新增乙個為四個選項的單選題,只要在左邊的單選項圖示裡拖到後邊的空白頁面
4次,就會新增時四個選項的單選題。如果要新增乙個又有選項又有填空的新題型,只要拖動左邊的選項和填空項,新題型也就
ok,很方便,不用再改動**了。這樣對使用者來說有很多種題型,但是在**裡就兩中處理方式。介面如下:
那資料庫是如何存在的了,可以講拆分的六個項的資料放在字典表裡就
ok,因為他們是不變的,還的需要乙個題型表和題型元件表,題型表存放的是新增了的題型,題型元件表存放的是題型的具體組成。以後需要題型的模板和該題型的題庫表就是從題型元件裡獲取。他們分別是:
questiontypebase : questionid
、charpterid
、questiontypeid degree score questioncontent isvalid operator
timestamp remark
option : answeritem
multipleoption:answeritem
secondarybase : id ,questionid , questionno , scorelittle , contentlittle
spacebar : blanknumber , isordinal
correcanswer : correcanswer analyze
questionfeild : id , field,questiontypeid
questiontype : questiontypeid, questiontypename , questiontypecode
總之,不要在寫死題型,什麼都要考慮他是否是變化的,變化的東西都不能寫死。
傳統產業已死,新的產業在何方?
我正在讀蘋果前ceo斯卡利先生的新書 moonshot!這是我讀的第一本英文原著,這裡先跟大家分享其中一小部分筆記。九月底,我有幸在矽谷拜訪了蘋果前ceo斯卡利。老人如今已經75歲高齡,但看起來仍充滿活力。他花了一上午的時間跟我們溝通,非常謙和 平等 坦誠,給我留下了很深的印象。末了,給我們介紹了這...
讓vim不要自動新增新的注釋行
vim裡面有乙個特性,如果你在一行注釋後新加一行,vim會自動在下一行的開始位置新增注釋符號。例如對於c c 來說 this is a comment line 第二行的 符號就是vim自動新增的。如果是在大量編寫注釋,那這個功能還是比較有用的。但是,我經常從其它地方複製一些 然後在putty中用滑...
讓vim不要自動新增新的注釋行
vim裡面有乙個特性,如果你在一行注釋後新加一行,vim會自動在下一行的開始位置新增注釋符號。例如對於c c 來說 this is a comment line 第二行的 符號就是vim自動新增的。如果是在大量編寫注釋,那這個功能還是比較有用的。但是,我經常從其它地方複製一些 然後在putty中用滑...