Dire che ho una classe che implementa più interfacce. Trasmetto la stessa istanza usando un'interfaccia diversa, a seconda di ciò a cui il consumatore è interessato.
Sto cercando di ricordare come si chiama. So che c'è un nome di fantasia per questo - ho pensato che fosse "partizionamento dell'interfaccia", ma non sto trovando alcun riscontro. Il nome ufficiale e forse un link a un sito che spiega cosa sarebbe utile.
Nel caso in cui non mi abbia spiegato abbastanza bene, ecco un esempio reale. Ho una classe, chiamiamola ContextManager
, che è responsabile per fornire accesso alle impostazioni di configurazione, variabili di sessione, informazioni utente e altre utilità. Invece di passare l'oggetto come ContextManager
, potrei passarlo come IConfigurationManager
in un punto e come IUserManager
in un altro. Ciò impedisce al client di accedere a cose a cui non dovrebbe interessare e mi consente di riutilizzare il codice all'interno della classe.
Voglio solo sapere come si chiama?