Vorrei scrivere un'implementazione della struttura dati in Java che utilizzi le cache come parte fondamentale della sua funzionalità e vorrei che l'utente fosse in grado di fornire le proprie implementazioni della cache che implementano una particolare interfaccia cache in modo che possano testare prestazioni utilizzando varie strategie (come LRU, LFU, MRU, ecc.).
Qual è il modo migliore per consentire a un utente di scambiare la propria cache in un'istanza di una delle strutture di dati senza fornire loro l'accesso alla mia base di codici? C'è un modo in cui posso passare in una classe che implementa l'interfaccia cache come parametro?
Questa struttura conterrà forse diverse cache disposte in modi diversi, quindi avrei bisogno di più di una istanza di una cache, e mi piacerebbe essere in grado di creare e distruggere le cache in fase di runtime. Passare un costruttore alla cache come funzione Lambda sarebbe una buona soluzione?