Campaign
同時に複数のブール状態を持つことができるモデルがあるとしましょう:
drafted
: 下書きのみ
suspended
: アクティブ後に一時停止
pending
: 承認待ち
paused
: クライアントが再開するまで、キャンペーンは一時停止されます。
ステート マシンの使用を考えました。彼らの DSL とそれらが提供する規則が気に入っていますが、それは 1 つの同時状態のためのものであり、以前の状態を失いたくありません。たとえば、ステート マシンの場合 (1 つの文字列フィールドがすべてを支配します):
キャンペーンを一時停止すると、クライアントは一時停止中に一時停止し、再開すると、アクティブになり、一時停止ステータスが消えます。
誰でもこれに対処する方法を知っていますか? 私は StateMachines の慣例が大好きですが、それでも並行状態を持続させたいと思っています。