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