大家上網(wǎng)經(jīng)常遇到這樣一組測試題,他們都是選擇題,并且根據(jù)前面選擇的結(jié)果決定后面繼續(xù)做那道題目。具體的場景如下:
當(dāng)NO1選擇了A后,繼續(xù)NO3;選擇了B后繼續(xù)NO4;選擇了C后繼續(xù)NO5;選擇了D后繼續(xù)NO2。
當(dāng)NO2選擇了A后,繼續(xù)NO3;選擇了B后繼續(xù)NO5;選擇了C后繼續(xù)NO7;選擇了D后繼續(xù)NO9。
······
這樣一個(gè)小小的應(yīng)用可能有50道測試題,全部都是這種IF/ELSE的控制。想想具體的開發(fā)流程,發(fā)現(xiàn)一大堆的面條都繞在了一起。開發(fā)過程異常復(fù)雜,后期的維護(hù)修改幾乎不大可能。最要命的是,如果測試題由50道變成了100道,流程增加了登錄用戶性別的判斷后,升級變得不大可能,只能重新開發(fā)應(yīng)用。
問題已經(jīng)提出,如何利用工作流完美的解決這個(gè)問題?對于工作流的基本概念、設(shè)計(jì)思路、設(shè)計(jì)模型和開發(fā)等問題一一提出。