Sto cercando di implementare il seguente pattern in un livello Cache.
 Sto suddividendo l'implementazione di possibili metodi Cache come   getUsers()    nella classe  UserCache ,   getLikes()    nella classe  PostsCache . 
 Ma mi piacerebbe che tutti questi metodi fossero accessibili da un oggetto di classe singola come   Cache.getUsers()   ,   Cache.getLikes()    
La ragione di questo è che mi piacerebbe che gli sviluppatori che utilizzano questo livello non fossero consapevoli della divisione che è stata eseguita dietro questo livello.
Ho fatto quanto segue
 2 interfacce -   UserCache, PostsCache    e
2 Classi che implementano le interfacce -   UserCacheImpl, PostsCacheImpl   . 
Ho provato a introdurre una classe astratta AbstractCache che implementa queste 2 interfacce e quindi questa classe Cache estenderà quella classe astratta. Ma quello non è riuscito: (
 Ora come posso combinare questi due essere accessibili da un singolo oggetto   Cache   . Per favore guidami