我有一個過程就像一個工作流程,假設它是這樣的:哪種設計模式可以做到這一點?
- 準備
- 吃
- 把你的東西斌
- 清理桌子
現在我想要做的甚至是用戶取消「吃」ev恩我希望他們「清理桌子」同樣適用於「準備」和「把你的東西裝箱」階段。
目前在我的實施中,我不得不做幾次檢查,有時候我最終會調用兩次「清理表」和其他一些分支問題,當我添加幾個步驟時。
是否有任何明確的設計模式來處理這種流動? (AFAIR有一個我只是不記得它的名字)
我有一個過程就像一個工作流程,假設它是這樣的:哪種設計模式可以做到這一點?
現在我想要做的甚至是用戶取消「吃」ev恩我希望他們「清理桌子」同樣適用於「準備」和「把你的東西裝箱」階段。
目前在我的實施中,我不得不做幾次檢查,有時候我最終會調用兩次「清理表」和其他一些分支問題,當我添加幾個步驟時。
是否有任何明確的設計模式來處理這種流動? (AFAIR有一個我只是不記得它的名字)
在C#/ .NET中,我們有IDisposable
模式。我相信你可以在另一種語言中實現類似的東西,無論它是否有垃圾收集器(儘管實現會稍有不同)。
關於這方面的工作流方面,我只需要遵循WCF中Web服務的設計模式(即Begin
和Cancel
方法)。如果你不認爲它適合你的情況,Windows Workflow Foundation可能是最好的選擇。
實際上IDisposable不是一個壞主意,目前我保留了對象的副本,即使在最後一步之後,但我可能會重構它。 – 2009-05-21 10:30:08
如果您使用的是C++:Resource Acquisition is Initialization。
這個問題通常在語言中一直沒有得到很好的解決沒有某種確定性結束的(C#,Java的等)
狀態模式我的firend是什麼將使這項工作結束。
只是給周圍的孩子打......開玩笑! :) – kenny 2009-05-21 10:37:15