さまざまな機器のレンタルを管理するアプリケーションを設計しています。そして、アプリケーションのモデルを設計するための最良の方法は何でしょうか。私のソフトウェアは、たとえば次のようなさまざまな種類の機器(データ型を含む)を管理する必要があります。
Speaker
Make - String
Model - String
Wattage - Integer
Price - Decimal
Light
Make - String
Model - String
Wattage - Integer
Price - Decimal
Microphone
Make - String
Model - String
Use - Choice of: Instrumental, Vocal, Versatile
Price - Decimal
Cable
Length - Decimal
Connector 1 - String
Connector 2 - String
Price - Decimal
Stand
Type - Choice of: Microphone, Speaker
Height - Decimal
Boom - Boolean
Price - Decimal
私がデザインについて考えた方法:
- 製品のタイプごとに個別のモデルを作成し、カート内の多態的な関連付けにより、すべてのタイプの機器を処理できるようにします。
- 製品が使用されるたびにチェックできるタイプフィールドを備えた、すべてのタイプの機器のフィールドを持つ単一の製品モデル。
- 価格属性を持つ製品モデルでは、すべてのタイプの製品がそのモデルを拡張します。
しかし、これらのさまざまなタイプの製品を処理するためのレールの最良の方法は何ですか?