Sono abbastanza nuovo nell'usare i pattern e anche se capisco alcuni di loro fino a un certo punto trovo difficile capire quale (i) utilizzare in una particolare situazione.
Sto provando a racchiudere uno schema db esistente in un numero di oggetti e non sono sicuro se dovrei semplicemente usare l'ereditarietà o una combinazione di alcuni modelli
Ho una tabella delle opzioni, che contiene le proprietà di base per un elemento così:
id
type
code
name
Queste opzioni hanno anche disponibilità - memorizzate in un'altra tabella
id (from option table)
fromdate
todate
e prezzi in un'altra tabella
id (from option table)
validfrom
fromdate
todate
price
e infine una tabella prenotata questa volta digitato sull'id dell'opzione e sulla persona che lo ha prenotato
id (from option table)
personid
bookedPrice
Solo per aggiungere altro nel mix, ci sono anche un paio di tipi di opzioni particolari che hanno proprietà aggiuntive che sono uniche per loro. Pensando che forse dovrei usare l'ereditarietà per la maggior parte - come i bit di prezzo / disponibilità sono usati per TUTTI i tipi di opzioni e quindi decorare le opzioni uniche con questi bit extra in quei casi particolari.
Quindi in circostanze diverse questi dati dovranno essere caricati in vari oggetti Mi chiedo se è meglio ereditare dall'opzione di base - fare un AvailabilityOption e un PricedOption ecc. Ed estendere l'opzione di base come quella o decorare l'opzione di base con le proprietà estese.
Non sono sicuro se ci sono abbastanza informazioni qui per rispondere. Mi chiedo se qualcuno potrebbe spiegare i vantaggi e le insidie di ciascuno, così non finirò per finire in un vicolo cieco?