[英]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.