亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

工作流

一個工作流(workflow),是你程序中一個進(jìn)程的模型。它可以是“博客主題從草稿、審核到發(fā)布”的進(jìn)程。另一個例子是,當(dāng)一位用戶提交一系列不同的表單以完成一個任務(wù)時。類似的進(jìn)程最好從你的models中脫離,而且應(yīng)該在配置信息中進(jìn)行定義。

一個工作流的 definition(定義) 包括places(位置)和actions(動作),以從一個位置來到另一個位置。 actions被稱為 transistions(過渡)。工作流也需要知道每個對象在工作流中的位置。那個 marking store 寫入了對象的一個屬性來記住當(dāng)前位置。

上面的專有名詞一般被用于討論工作流和 Petri nets

Workflow組件支持狀態(tài)機(state machines)。狀態(tài)機是工作流的子集(subset),其目的是持有你的模型的一個狀態(tài)。在 工作流作為狀態(tài)機 一文可以讀到更多的關(guān)于狀態(tài)機的不同和特定的功能。

示例 ?

最簡單的工作流是下面這種。它包括兩個places和一個transition。

777_simple.png

當(dāng)用來描述一個真實業(yè)務(wù)時,工作流可以是更復(fù)雜的。下面的工作流描述了在job程序中進(jìn)行填充的進(jìn)程。

1485943055_74540_85131_job_application.png

當(dāng)你填寫本例中的一個工作時,根據(jù)所請求的工作之不同,會有4到7步。某些工作需要性格測驗,邏輯測驗,以及/或者需要用戶填寫正式的需求。另一些則不需要。GuardEvent 用于在特定程序中決定“允許進(jìn)行的下一步是什么”。

通過像這樣定義一個工作流,進(jìn)程如何被展現(xiàn)就能知其大概。進(jìn)程的邏輯并不與控制器、model層或view層混為一談。步驟(steps)的次序只能通過改變“配置信息”才可以改變。