Il progetto è un'interfaccia di sola lettura per un database aziendale.
Nel database, ci sono alcuni dati "statici" sui reparti, in una tabella Departments
.
Il valore di questi campi non cambia nel tempo (ad esempio DepartmentID
, DepartmentName
, DepartmentDescription
, HistoryTableName
, ecc.).
Ci sono anche alcuni dati con data e ora. I dati storici per ciascun dipartimento sono memorizzati in una tabella dedicata (denominata HistoryTableName
, con campi come timestamp
, numberOfEmployees
, Energy Consumption
, ...). Come puoi immaginare, il layout dei dati non è qualcosa che può essere modificato in questo ambito.
Il punto dell'interfaccia deve essere in grado di accedere ai dati per tutti i reparti, in qualsiasi momento.
Ho trovato la parte "statica": esiste un controller company
, che restituisce un oggetto con una proprietà departments
, con i relativi ID, descrizioni, ecc.
Tuttavia sono confuso su come gestire i dati storici:
-
Dovrebbe essere una parte dei dati "statici"? Modificherei la classe
department
con le proprietà per i dati storici. (E quindi, vorrei restituire l'intera configurazione ogni volta che vengono richiesti nuovi dati). -
Shoud Creo un flusso parallelo (nuovo controller
companyHistory
, nuova classe, ecc. che restituisce solo l'ID dei reparti e la loro cronologia e l'associazione è eseguita nell'interfaccia utente?) -
...
Ho pochi dubbi sul fatto che questo sia stato studiato prima, e che ci sia un modello ben noto per gestire tali casi, ma non sono stato in grado di trovare alcun riferimento ad esso.
Potresti indicarmi un modello simile?