私はPost
オブジェクトをソーシャルネットワーキングアプリケーションからモデル化し、状態の組み合わせの爆発を避けたいと思います。例えば、私は、、liked
、reported
などのスーパーステートpublished
を持つことができました。問題は公開された投稿がcommented and liked
,commented and liked and reported
などであり、これらの人工的な結合状態を作りたくないということです。それらをネストすることは、これらのサブステートの間に順序や階層がなく、最終的にはコンビナトリアル増加の問題につながるため、良い解決策ではありません。直交領域も解決策に見えません。すべての手がかりは?ポストオブジェクトステートマシン
0
A
答えて
0
可能なイベントを制限する必要がないか、イベントに対して異なる動作を必要としない限り、状態はまったく必要ないかもしれません。投稿にコメントや「好き」を付けても、本当に投稿にできることは変わっていますか?
通常、複雑さが爆発する直交状態は、問題のドメイン内のものをより正確に反映する必要があることを示し、それぞれのクラスはそれぞれ独自の状態マシンを必要とします。
あなたが必要とするのは、コメント(例:追加、編集、削除)のための状態マシン、「好き」(例えば、追加、撤回、復職)などのための状態マシンです。
直交領域がなぜ解決策に見えないのですか?はい、彼らがやります!可能性のある州とはどのような関係にありますか。 – Ister
@Isterはい、そうです。 「直交領域を使って自分自身を捕まえるなら、自分自身を叩く」;-)または、ジムLが下に示唆したようにもっと丁寧に言えば、おそらくあなたの問題を再考する方がいいでしょう。 – user160902