「ワークフローマージ」の設計についてお聞きしたいのですが。互いにあまり似ていないワークフローがいくつかあります。ただし、それらを組み合わせて、わずかに変更したい場合があります。例を挙げましょう:
ワークフロー1-旅行
A1(バッグを詰める)-> A2(家を出る)-> A3(バスに乗る)-> A4 .. ..
ワークフロー2-毎日の植物の散水
B1(水をオンにする)-> B2(家を出る)-> B3(植物に水をやる)-> B4(家に入る)-> B5(水をオフにする)
日曜日に旅行に行きたいので、植物にも水をやる必要があります。だから私はA1->B1からB5->A2...のようなものを作りたいです。また、友達に水やりを終了するように指示する可能性もあります。これは、A1->B1からB2->C1(タスクを友達に渡す)-> A3 ...のようになります。ご覧のとおり、フロー簡単です-フォークや結合はなく、そのような機能は必要ありません。必要なのは、コマンドの線形リストを作成して、それらを簡単にマージできるようにすることです。現時点では、コードのすべてのフラグメントはJavaメソッドです(そして、それらをアトミックフローのようなものにしたいと思います)。
私のアプローチの主な目標は、同じコードを何度も入力しないようにすることです。フローには数百のステップが含まれる場合があります。フローAの実行のようなステートメントを作成したいのですが、A2とA3を実行する代わりに、B2からB6を実行し、Aを続行します。
私は2つの主要な質問があります:
- すでにこれをサポートしているフレームワークはありますか?もしあれば、それは私の目的には複雑すぎませんか?
- そうでない場合、そのようなことを実装するための最良の方法は何でしょうか?
注:私の質問について不明確な点を具体的に教えてください。