Projektuję aplikację, która zarządza wynajmem wielu różnych urządzeń. I zastanawiam się, jaki jest najlepszy sposób zaprojektowania modeli dla aplikacji. Mój program ma zarządzać wiele różnych rodzajów sprzętu (z typami danych) na przykład:Droga szyn dla wielu typów produktów koszyk zakupów
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
Ways myślałem o projekcie:
- Indywidualny wzór dla każdego rodzaju produktu, a następnie polimorficzne skojarzenie w wózku, aby mógł obsłużyć wszystkie typy sprzętu.
- Pojedynczy model produktu, który zawiera pola dla wszystkich typów urządzeń z polem tekstowym, które można sprawdzić, gdy produkt jest używany.
- Model produktu z atrybutem ceny oznacza, że każdy typ produktu rozszerza ten model.
Ale jaki jest najlepszy sposób na szynach do obsługi tych różnych rodzajów produktów?
trzecia opcja brzmi jak wzorzec strategii, prawdopodobnie można posunąć się nawet do rozszerzenia podstawowego modelu o PORO –