Creer une application ou on pourra ajouter des modules plus tard ... ?

cs_cbil Messages postés 140 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 15 mai 2008 - 24 avril 2006 à 14:40
Aethan Messages postés 50 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 4 mai 2006 - 27 avril 2006 à 16:25
Salut tout le monde,

J'aimerez savoir comment faire pour creer une application Java "dynamique" où l'on pourra ajouter des modules plus tard (sans toucher aux classes de base deja creer...).

Par exemple :

- Comment msn supporte-t-il des modules supplémentaires installé par msn + ?
- Comment Eclipse accepte-t-il de nouveaux modules sans modifier le programme de base (les classes) ?
...

J'ai pensé a se servir d'un fichier XML, recensant tout les parties à ajouter. Du coup, pour un nouveau module, ils suffirait d'ajouter une (ou +) ligne dans le fichier XML indiquant ou se trouve le module...

Le fichier XML aurait donc par exemple en parametre, un titre, un emplacement dans le menu (savoir si on le met dans "edition", "option" ou une nouvelle rubrique...) et le lien vers le module. Le probleme comment faire ce lien vers le module ? si on fais le lien vers un fichier .class, comment s'en servir pour le lancer (et lui donner des parametres par ex...)

Avez-vous des idees la dessus ? Comment s'y prendre ?

Merci d'avance
a+

4 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
24 avril 2006 à 17:42
Salut,



pour ce faire il va te falloir te developper un moteur de plugin et orienter ton application dans ce sens.



sinon pour loader un .class pas de malaise tu peux le faire en
utilisant le class loader de la jvm mais pour loader un jar il va te
falloir te faire un jar loader, mais que tu prenne l'un ou l'autre il
faut utiliser les methodes de reflexion qu'offre le jdk(ref :
java.lang.Class, java.reflect.Method, ...).

WORA
0
cs_cbil Messages postés 140 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 15 mai 2008 1
25 avril 2006 à 09:45
Merci, je vais regarder....
Sinon il y a aussi une solution en utilisant l'implementation je crois mais je sais pas comment m'y prendre...

a+
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
25 avril 2006 à 10:13
Regarde du côté des classForName ou autre ... j'ai une source (mon sniffer) qui te montrera le principe ;-) Fais une petite recherche sur le site ;-) : sniffer

++
0
Aethan Messages postés 50 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 4 mai 2006
27 avril 2006 à 16:25
Bonjour,

Je pense que quand tu parle de solution utilisant l'implementation
tu fais reference aux Interfaces

Elles sont aussi tres utiles pour une application dynamique, combiné avec une "importation dynamique de classe" offre un moyen puissant comme l'a expliqué WORA...

Perso beaucoup d'appli de ma conception sont plus ou moins dynamique
Le moindre probleme contacte moi

artignan.jexiste.fr
0
Rejoignez-nous