Vorrei memorizzare i dati nella mia applicazione web Spring MVC. Poiché sono nuovo anche in Spring Framework e nell'architettura MVC, vorrei chiedere se dovrei memorizzare i dati nella cache (tramite Spring Caching system) sul livello DAO o dovrei memorizzare i metodi di uscita su un livello di servizio?Devo fare il caching sul livello DAO o sul livello di servizio nell'app web Spring MVC?
E.g. Ho questo metodo su un livello di servizio:
@Override
public LinkedList<OrderCount> getOrderCount(Date dateFrom, Date dateTo, Class type) {
try {
return chartDataDAO.getOrderCount(dateFrom, dateTo, type);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
e questo metodo chiama questo metodo DAO:
public LinkedList<OrderCount> getOrderCount(Date dateFrom, Date dateTo, Class type);
La mia domanda è: devo fare il caching sul livello di servizio o DAO?
Poiché si tratta di una domanda di tipo "best-practice", suggerirei di postarla su codereview.stackexchange.com o su programmers.stackexchange.com - entrambi sono luoghi migliori per una discussione più aperta su cosa costituisce codice e architettura "opportunamente formati". :) Sono felice che tu abbia avuto una risposta qui! –