複数の状態を持つことができる、タスクに相当するエンティティがあります。「タスク」は、保留中、合格、または失敗のいずれかの状態になります。これらの各状態には、いくつかの固有のデータもあります。たとえば、失敗した状態では、エンティティには失敗の理由が必要であり、保留中の状態では、評価の期限が必要です。
上記のことから、各状態を表す個別のオブジェクトが必要であると考えるようになりましたが、エンティティの基になる ID は同じままにする必要があるため、これを単一のオブジェクトと考える方向に後退しました。
また、状態から状態への遷移にはいくつかのロジックが必要です。「合格」状態に遷移する「保留」タスクは、同じ遷移を行う「失敗」タスクとは異なる方法で処理されます。
各状態の表現がまったく同じである場合は、プリミティブ プロパティを使用するだけで済みます。ただし、州ごとに表現がわずかに異なるため、これをモデル化する最善の方法を見つけるのに苦労しています。内部状態を管理するためのロジックがややこしくなってきているので、一歩下がって再考することにしました。何かご意見は?
私はこの言語にとらわれないと考えていますが、私はc#を使用しています。