このような状況に遭遇したことはありますか?もしそうなら、どのように解決しましたか?
次のような複数の進行段階を経た記録があります。
提出->予備評価->最終レビュー-> アクティブ
これらの主要なステータスタイプの進行順序は保証されています。ただし、物事をかなり複雑にする要因があります。
これらの状態の一部では、レコードが次の状態に移行する前に、いくつかの追加条件が満たされる必要がある場合があります。これらの条件または「サブステート」の一部はオプションであり、一部は必須である場合があります。または、「3つの可能な条件のうちの任意の2つ」の基準を満たす必要がある場合があります。これらのサブ状態またはサブ条件は、任意の順序で満たすことができます。
プロセスは動的に変更でき、グループごとに異なります。つまり、システムには複数のグループが存在し、各グループのユーザーは、プロセスに関与する状態とサブ条件を指定できます(一部のグループでは、一部の状態とサブ条件がスキップされる場合があります)。それを容易にするために、何らかの方法でプロセスをデータベースに保存する必要があります。
さて、これはかなり複雑な基準のセットであることがわかっているので、多くのフィードバックは期待していません。しかし、実装を支援するために、公開されているデザインパターン、テクニック、またはアプローチがあるかどうか疑問に思っています。これはエレガントな方法で。同僚と私は何時間もかけて最善の解決策を考え出しましたが、それでも現在の解決策はあまりにも醜いように感じます。
さらに明確にしたい場合は、コメントを追加してください。説明するのはかなり難しい問題なので、十分に明確でなくても驚かないでしょう。ありがとう!