Supponi di avere una gerarchia di unità organizzative:
- Company
-- Branches
--- Departments
---- Teams
Diciamo che ho alcune impostazioni (per semplicità supponiamo che abbiano le stesse proprietà) per ogni livello di gerarchia:
- Numero massimo di documenti
- Min altro
- Può fare X
- Può fare Y
- molte altre proprietà
Quindi, le sottounità possono riutilizzare come default le impostazioni dei genitori, oppure hanno modificato solo una o due di queste impostazioni. Lo stesso per le loro sottounità.
Quale sarebbe il modello corretto da seguire - sia come strutture di codice, sia come storage db per supportarlo, con l'idea che le impostazioni di ciascuna unità possono essere modificate indipendentemente e le impostazioni della sub-unità prevalgono sul valore predefinito del genitore.
Stavamo pensando di coppie chiave / valore, e quindi di ricerca per ognuno salendo nella gerarchia fino a trovare il giusto setting, ma questo può diventare brutto abbastanza veloce.
Un'altra opzione che stavamo considerando è che ogni unità ha il proprio record delle impostazioni e aggiorna di conseguenza quando le impostazioni del genitore cambiano.
Apprezzerei qualsiasi suggerimento su approcci / pattern ben noti a tale riguardo.