簡體   English   中英

如何在對象內實現工作流程

[英]How to implement workflow within an object

我有一個對象,表示存儲在關系數據庫(O / R映射)中的某些文檔。 該文檔具有一個狀態字段,用於標識其狀態。 每個狀態(即輸入,等待批准,發送,付款等)都帶有其自己的驗證規則和要求。

我想知道這種工作流程的正確的OO實現是什么。 最簡單的方法是放置一堆if語句,例如

if(狀態==某些||狀態==其他)檢查日期是否可以更改();

但是在復雜的情況下,這變得非常難以閱讀。

對好的設計的建議?

看看Strategy Pattern 對於每種可能的狀態,您將創建一個類來實現要執行的步驟。

也許您想將其與一個Factory結合使用,該Factory根據從數據庫讀取文件的狀態來構建正確的策略對象。

我認為您需要查看Windows Workflow Foundation 它是.NET的一部分,使您能夠相對輕松地創建工作流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM