諮詢服務Q&A 1126

0

No comments posted yet

Comments

Slide 1

問題一 請教MVC分工方式 上課提到一個功能可以分成兩人一組,一人做Model,一人做VandC 且做VC的人可以做到,只看M層寫的testcases即可以做 可是我們目前開發發現無法達到此境界,我想應該是中間差了哪些東西...

Slide 2

回答一 關於這件事情,從各位日前展示的成果看來,我認為各位並非沒辦法處理,只是,這個案例比我們想像中簡單,但是,看過各位的“匯入案例”後,我還是忍不住要問各位幾個問題,也算是提醒 Q1.匯入的資料會直接進到資料庫? Q2.如果資料曾經匯入過(重複),怎麼辦? Q3.如果重複的資料已經是使用中了,狀態會不會因為這次的匯入而被改掉? Q4.目前的設計方式,會不會造成系統異常啊? 我們設計的商業邏輯能處理以上問題? 若不行,我們顯然需要有所調整,找出對策(這就是我說需要用腦力的地方了^_^)

Slide 3

案例說明 匯入檔案的案例,通常會分成幾個步驟去處理,因為分步驟,對應該流程的API自然就要處理了,建議步驟(也會對應到雛型畫面)如下 上傳檔案:一定有一組API,其商業行為是讀檔、解析檔案、比對資料狀況(依照商業邏輯比對)、回傳比對結果 預覽結果:從步驟一得到結果,並呈現在預覽畫面,若比對結果沒異常,就會出現"確認匯入的按鍵",如果有異常,通常會出現回上一頁的按鍵 確認匯入:因為預覽都正確,也就是初步商業邏輯比對都正確,這時候才會有正式匯入的功能,這部分就要另開一組“確認匯入API”了,注意,這組API雖然式確認匯入,但還是需要執行商業邏輯比對,因為,可能有人重複點選步驟二的"確認匯入按鍵"or步驟三的"Reload按鍵",造成重複執行"確認匯入API"

Slide 4

案例說明(續前頁) 以上步驟,自然就需要完整的測試個案囉,以下示範例 @Test public void testImport() { InputStream input = ...; // 模擬步驟一, 匯入檔案 List previewData = facase.api1(input); // 模擬步驟二, 秀出預覽結果 printXXX(previewData); // 模擬步驟三 if (有秀出"確認匯入的按鍵") { result = facase.api2(previewData); } assertXXX(result); } 這樣一來,寫 VC 層的人就看得懂了吧(加上雛型畫面的輔助)!!! 

URL: