Come modellerai / programmerai quanto segue:
Abbiamo articoli nel nostro dominio, diciamo auto. Abbiamo anche categorie per le auto. Una categoria ha determinate caratteristiche.
Quindi, ad esempio, potremmo avere un'auto chiamata Modello A e inserirla nella categoria Sedan. La categoria Sedan ha le caratteristiche "cinque porte" e "cinque adulti" (lo sto inventando mentre vado).
Quindi la nostra vettura Model A ha queste due caratteristiche, solo per il fatto di essere aggiunta alla categoria Sedan.
Ma ora vogliamo aggiungere alcune caratteristiche, anche se provengono da altre categorie. Questa è la parte facile, basta collegare l'auto a una categoria e collegare l'auto per separare le caratteristiche.
Ma se volessimo escludere una delle caratteristiche dalla categoria Sedan rimuovendola?
Quindi, in sostanza, vogliamo questo:
- Modello A
- categoria berlina
- cinque-porte
-
cinque adulti// non vogliamo mai questa caratteristica
- caratteristiche extra:
- sporty // abbiamo aggiunto questo
- categoria berlina
Spero che questo sia chiaro. Vedo facilmente come possiamo collegare un'auto a una categoria e collegare un'auto alle caratteristiche (tramite relazioni molti-a-molti, sia nel codice che nel database). Ma come rimuoveremo una delle caratteristiche di una categoria a cui è collegata la macchina?
Questa è una buona soluzione?
- Modello A
- categoria berlina
- cinque-porte
- cinque adulti
- caratteristiche extra:
- sporty // abbiamo aggiunto questo
- caratteristiche rimosse:
- cinque adulti // non vogliamo mai questo
- GetCharacteristics // implementa la logica per combinare le informazioni precedenti
- categoria berlina