遇到的問題,就是太多動態數據,而且有個小插曲,是關于XML的。服務器返回的XML在LR視圖里不能正常顯示;而且XML的數據,在LR源碼的顯示方式和實際程序獲取的不一樣,需要轉換一下。
當時的場景可以簡單的理解為,有N個項目,每個項目有N個階段(與時間掛勾),每個階段有N個工作周期(也有時間掛勾),每個工期都有對應的數據,最有特點的數據就是樹結構。
上面已描述的場景,就是在XML錄制過程??梢院唵卫斫鉃?,打開界面,讀到根節點的ID,然后生成一級節點。展開根節點,讀到一級節點的ID。根據一級節點ID生成二級節點,依此類推。
當時做得太復雜了,好像做了三四級循環,好像還用到了三維數組,好像還有指針吧。反正就是腦袋和循環一起轉,出一點錯誤都要查半天,Hoho...
“今天”,又遇到類似一個業務型系統。這次,我打算我搞定它!
還是簡單說一下吧,每天在電腦上時間太長了,又想記錄下這一點點剛好有的結果。
場景可以簡單的理解為有N個部門,每個部門不同權限,做不同的事情,流程如下圖所示:
實現可以理解如下,某人拼命建項目N個,然后這N個項目都要走這個流程。譬如在A點,你需要給項目建N個子項目,給N個子項目上傳N個文件。
然后可能需要B單位審核,然后后面也基本上都是審核,中途還有個指派的功能,共同點就是全部都是任務。你要把待辦變成已辦。
起初,我想把所有項目、子項目、文件的ID邊生成邊讀出來,存起來然后被調用。
哈哈,事實證明,這種想法是多么的無知!明知道ID只能用一次,重建數據庫后全部更新。明知道性能有問題,肯定需要調優。保存ID?至少調優后要重做一遍。
而且,同一個文件,不同事情,觸發事件的ID都是不同的。也就是說,一個文件,走完一個流程就有N個ID了,那么所有的ID加起來就有N的四次方那么多了!
原文轉自:http://www.anti-gravitydesign.com