2013-07-24 13 views
6

私は順番に行くのワークフローを持って使用するワークフロー設計パターンの種類は?

A - > B - > C - > D - > E

私は少なくともコードの変更で、私はそれらの間で状態を追加できるようにするデザインパターンを必要とします。

http://en.wikipedia.org/wiki/Workflow_patterns

これらのデザインパターンの作品のどれ?

+0

あなたはそのウィキペディアのページから何かを使用することに制約がありますか、または一般的なソリューションに興味がありますか? –

+0

私は一般的なソリューションに興味があります.Wikiのものはただの例です – seesee

+0

あなたは既に持っているワークフローの種類を教えていただけますか? – Rakesh

答えて

8

を使用して、独自のワークフローを設計することができます変更してから何かを行うので、制御フローをデータフローに変更する必要があります。

自分で実装したい場合は、次のノードを呼び出すのではなく、ランタイムコントローラにコントロールを戻す必要があります。このランタイム・コントローラは、アクティビティ・ランナブルにコンテキスト・オブジェクトを挿入することもでき、アクティビティ間で状態を共有することができます。以下の疑似コードとして概略をご覧ください:

interface Activity { 
    Activity run(SharedContext context); 
} 

class A implements Activity { 
    public Activity run(SharedContext context) { 
     doA(context); 
     return new B(); 
    } 
} 

class B implements Activity { 
    public Activity run(SharedContext context) { 
     doB(context); 
     return new C(); 
    } 
} 

// runtime controller 
SharedContext context = new SharedContext(); 
Activity next = new A(); 

while (next != null) { 
    next = next.run(context); 
} 
2

activitiを試すことができます。また、後者は状態を待っているが、あなたはペトリネットimplementions、Jacobのような計算をほうふつさせるフレームワーク、SCXMLようPVMやステートマシンの実装のようなプロセスのための仮想マシンの中に見ることができるeclipse plugin

+0

他のAPIは使用しないでください。単なる製品です... – seesee

関連する問題