1つ以上のコマンドオブジェクトをエンティティに割り当てて、ワークフローの一部としてこれらのコマンドを使用できるようにする設計があります。議論のために、アドオン機能をユーザーのアカウントに割り当てるようなもの。
コマンドパターンとこれがどのように適合するかは理解していますが、私の質問は永続性の1つです。コマンドのリストがあり、各ユーザーアカウントが独自のコマンドのリストを持つことができ、議論のために、コマンドに関して重要なのはそのシステムタイプだけであるか、すべて同じプロパティを持っていると仮定しましょう。データレイヤーを実装するときにそれを維持するための最良の方法は何ですか?
私は、accountsテーブルとcommands / featuresテーブルの間の多対多の関係としてそれを行うことを検討していました。後者のテーブルはTPH戦略に従います(つまり、すべてのコマンドが同じテーブルに保持されます)。それが最もクリーンな方法のようですが、他の誰かが別の戦略に従っているのかどうかを確認したかったのでしょうか。
代わりに、同じ機能が追加された2つのアカウントがその機能の異なるインスタンスを持つ、1:多の関係にしますか?それとも、私がまったく考えていないより良い方法はありますか?