さまざまな装飾(または印刷)オプションを持つことができる製品を備えたシステムがあるとします。
ほとんどの製品には同様の範囲の印刷オプション名がありますが、単一の製品に固有の製品もあります。
たとえば、3つの異なる装飾オプションを持つことができるキャップを持つことができます:
- ブランドなし
- ワンカラープリント
- 刺繍
私の目標は、管理者ユーザーが作成する装飾オプション名を最小限に抑えて、常に同じになるようにすることです。IE「1カラープリント」と呼ばれる装飾オプションと「1カラープリント」と呼ばれる別の装飾オプションは必要ありません。
したがって、私の計画はUIにあり、既存の装飾オプション名をドロップダウンするだけでなく、新しい装飾オプション名を追加するオプションも提供します(エッジケースの場合)。
ただし、各装飾オプションには、セットアップコスト、製造時間など、製品によって異なるさまざまなデータが含まれています。
たとえば、Hat1とHat2の両方に刺繡装飾オプションを設定できますが、Hat1のセットアップコストは49ドルで、Hat2のセットアップコストはわずか35ドルです。
だから私の質問は、私のエンティティを構造化するための最良の方法は何ですか?Product、DecorationOption、DecorationOptionNameの3つのエンティティが必要ですか?または、ProductとDecorationOptionの2つのエンティティだけですか?
さらに理解するには、私のコード例を参照してください。