Nur so als Hinweis zum Nachdenken: Wo sind deine
Synchronisationspunkte in der Applikation? D.h. wie sieht es aus, wenn
du den Cache aufgrund einer Datenänderung ausleeren mußt? Meiner
Erfahrung nach eignet sich da das Cachen im UI nicht unbedingt, da
sich hinter jedem Use Case im UI verschiedenste Daten verbergen, die
dabei benutzt werden. Ich versuche Caching daher meist möglichst nahe
am Persistenzmechanismus zu implementieren weil ich dort
(üblicherweise DAOs) ziemlich genau und übersichtlich kontrollieren
kann, welche Daten wann abgerufen bzw. verändert werden. Dadurch lässt
sich auch der Cache entsprechend ausleeren und ich habe die Cache-
Logik nicht allzusehr über die Anwendung verteilt. In jedem Fall ist
das genau eine der Anwendungen, wo AOP seine Stärke ausspielen kann.
hth,
Erich