Sto creando un programma ma vorrei far in modo di poter aggiungere a scelta dell'utente vari plugins che implementino diverse operazioni(esempio: firefox e le sue estensioni) ma non ho la minima idea da dove iniziare...me la date voi?![]()
Sto creando un programma ma vorrei far in modo di poter aggiungere a scelta dell'utente vari plugins che implementino diverse operazioni(esempio: firefox e le sue estensioni) ma non ho la minima idea da dove iniziare...me la date voi?![]()
Per realizzare una gestione "a plugins" (e parlo in via del tutto generale) è necessario prestare attenzione ad alcuni fattori:Originariamente inviato da energie
Sto creando un programma ma vorrei far in modo di poter aggiungere a scelta dell'utente vari plugins che implementino diverse operazioni(esempio: firefox e le sue estensioni) ma non ho la minima idea da dove iniziare...me la date voi?![]()
A) Come dovranno essere ricercati/trovati i vari plugin.
B) Come realizzare una architettura "comune" e "standard" in modo che ogni plugin si comporti esattamente come l'applicazione richiede.
Parlando di Java, il punto A) si risolve con il class-loader (vedere il metodo forName() della classe 'Class'). Per il punto B), in Java lo si risolve con le interfacce.
Comunque spiega meglio cosa vuoi fare, così è più chiaro e puoi avere qualche aiuto in più.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
allora io sto realizzando questo programma base con diverse funzioni,per evitare di sovraccaricare inutilmente il programma(quindi riempirlo di funzioni che non tutti gli utenti potrebbero usare)ho deciso di creare un programma base con funzioni che utilizzeranno sicuramente tutti,e aggiungere la possibilità di scaricare diversi plugin(sempre fatti da me)selezionarli tramite la gui e aggiungerli,così da aggiungere ulteriori features al programma
Cerca anche tu di capire che una cosa del genere non è difficile ma neanche banale. Quindi cerca di andare un po' più a fondo del problema e di spezzare la questione in tanti sotto-problemi.Originariamente inviato da energie
allora io sto realizzando questo programma base con diverse funzioni,per evitare di sovraccaricare inutilmente il programma(quindi riempirlo di funzioni che non tutti gli utenti potrebbero usare)ho deciso di creare un programma base con funzioni che utilizzeranno sicuramente tutti,e aggiungere la possibilità di scaricare diversi plugin(sempre fatti da me)selezionarli tramite la gui e aggiungerli,così da aggiungere ulteriori features al programma
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
un primo problema che mi è venuto in mente è questo...se per lavorare un plugin avesse bisogno di una variabile (presente nel codice del programma) come dovrebbe prenderla? o riceverla?questo è "facile" se io creo il programma ed ho già idea di creare un plugin...ma se dovessi creare un plugin tra diverso tempo,dovrei rimodificare il programma e così creare un plugin...io invece vorrei che questi plugin potessero interagire liberamente con il programma potendo prendere qualsiasi valore e/o informazione da esso
Ripeto ancora una volta .... si tratta esclusivamente di come realizzare il "ponte" tra la applicazione e i plugin. Alla fine dei conti c'è solamente da individuare cosa realmente la applicazione deve "esporre" (o richiedere) al plugin e viceversa.Originariamente inviato da energie
un primo problema che mi è venuto in mente è questo...se per lavorare un plugin avesse bisogno di una variabile (presente nel codice del programma) come dovrebbe prenderla? o riceverla?questo è "facile" se io creo il programma ed ho già idea di creare un plugin...ma se dovessi creare un plugin tra diverso tempo,dovrei rimodificare il programma e così creare un plugin...io invece vorrei che questi plugin potessero interagire liberamente con il programma potendo prendere qualsiasi valore e/o informazione da esso
Potrei farti un esempio di una banale applicazione, un semplice frame vuoto con un menù "Opzioni", e in cui N plugin posso aggiungere delle voci di menù e fare qualcosa quando li si seleziona. Solo che non è una cosa proprio brevissima e non so se ho molto tempo in questi giorni.
Se ti può andare bene come esempio, mi ci metto un attimo appena ho tempo ....
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
si a me andrebbe bene,io non sono uno di quelli che implicitamente dice "potreste farmi questo programma?" io cerco un buon esempio,o un link che spieghi bene(non come certi link che ricopiano solamente javadocs).Fallo solo quando hai tempo non c'è fretta per nessuno,se in attesa avresti un link che mi è sfuggito(perchè ho cercato sia in italiano che in inglese, ma evidentemente ho sbagliato parole chiave)per incominciare a leggere te ne sarei grato;in alternativa ti sarò grato cmq!Grazie mille