Sto iniziando un progetto di hobby e sono nel bel mezzo della progettazione della sua architettura. Mi piacerebbe rendere il mio programma basato su plugin (mai fatto nulla di simile prima), per renderlo estendibile. Ora sto cercando di capire in che modo tale architettura viene creata concettualmente.
Ora, questo articolo di wikipedia sui Plugin dice che l'applicazione host dovrebbe fornire un servizio di protocollo (tra le altre cose) per stabilire come i dati vengono scambiati con il plugin.
Non capisco davvero questo bocconcino, cosa significa? Che tipo di dati devono essere effettivamente scambiati?
EDIT: Per essere chiari, non sto cercando specifiche di implementazione, ma per una chiara spiegazione del meccanismo, che l'articolo di wikipedia presenta. Così com'è ora, non ho idea di quale sia lo scopo di un protocollo in un'applicazione basata su plugin.
Ho immaginato che il plugin potesse semplicemente recuperare dati rilevanti dall'esterno dell'applicazione e presentarlo all'utente, senza coinvolgere direttamente l'applicazione. Quale sarebbe lo scopo di stabilire un protocollo per lo scambio di dati?
È un'applicazione desktop, che sarà scritta principalmente in Java, quindi orientata agli oggetti. L'applicazione al suo interno fornisce principalmente un'interfaccia per i plug-in per registrarsi nell'applicazione e un plugin-manager, che interagisce con il plugin.