Ho una tabella di sconti / offerte, che sono applicabili solo quando si soddisfano determinati requisiti. Esempio:
- Dimensione: media, Categoria: classico, max. Ingredienti: 3, consegna: raccolta
Soddisfare questi requisiti comporta che l'utente abbia i prodotti a un prezzo inferiore (prezzo assoluto, non relativo)
Sto pensando al modo migliore per implementarlo. Naturalmente potrei sia controllare che definire questi vincoli staticamente nel codice, ma pensi che potrebbe esserci una soluzione dinamica? Ciascuna offerta deve essere rappresentata da una classe che implementa un'interfaccia di offerta?
Product:
- getPrice()
Offer1 implements Offer:
- getFinalPrice
- checkForConstraints
O sto andando a questo sbagliato? Fammi sapere cosa ne pensi.