Bonjour;
comment appliquer le modèle MVC dans une application RCP
Bonjour;
comment appliquer le modèle MVC dans une application RCP
Salut,
Je suppose que tu parles du motif Modèle/Vue/Controleur de l'interface graphique ?
L'approche de l'IHM Eclipse RCP, fondée sur l'API SWT n'est pas MVC. Une autre API ajoute une autre notion, que je ne qualifierais pas personnellement de complètement MVC, mais très proche : JFace. Cette bibliothèque est conçue pour faciliter l'implémentation d'IHM SWT. On peut rapidement étendre soit-méme certains de ses composants (comme les "viewers", comme TableViewer, ou TreeViewer) pour complèter l'aspect MVC, en ajoutant une ou deux classes. En gros, le concept de modèle est remplacé par le concept de fournisseur de données (content provider). Il y'a une notion de fournisseur de rendu (label provider), un équivalent du renderer des composants SWING. Pour la partie modèle, on pourra faire une classe chargée d'écouter les modifications des données et de rafraichir la vue avec les méthodes dédiées (du type refresh, update, add, remove...) du composant JFace, pour obtenir l'équivalent d'un modèle de type SWING. A noter toutefois qu'on ne modifie pas le modèle pour injecter des données, mais le viewer, par sa méthode setInput. Pour la partie controleur, il suffit de faire sa propre classe, qui centralise les écouteurs d'évenements et les liens avec les fournisseurs de données et les fournisseurs de rendu. On peut même associer des éléments utilisés pour les modèles SWING avec les fournisseurs de données et de rendu pour se faciliter cette adaptation : je pense par exemple à TreeNode, pour gérer les arbres.
A noter, qu'il existe des API qui proposent des composants fondés sur JFace, comme Nebula, qui propose par exemple un GalleryViewer, un composant chargé d'afficher des images en mosaïque, avec ces concepts de fournisseurs de données et de rendus.
Accessoirement, on peut également inclure des composants AWT/SWING dans l'IHM, via la classe AWT_SWT.
Voir la FAQ, ou le tutoriel de Lars Vogel, pour plus de détails.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
merci bien Joel;
ce que je compris c'est que l'architecture d'une application RCP est comme ca :
[View]----(Binding -JFace-)------[Model].
on ce qui concerne la connexion à la base de données, quelles sont les étapes pour connecter une base de données postgresql à une application RCP.
merci d'avance
Les Bindings ne sont pas obligatoires, mais cela peut être utilisé certes. C'est encore une approche différente je dirais. Mais j'avoue que je n'ai jamais regardé ça que de très loin et jamais utilisé.
Pour ce qui de la connexion à postgres, rien à voir avec le modèle MVC en tout cas. Et pas de spécificité pour une application RCP : c'est comme pour n'importe quelle autre application Java, à priori. A moins qu'il n'existe quelque plugin dédié, mais j'en sais rien. En tout cas la FAQ JDBC et la doc Postgres d'indiqueront comment te connecter.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Idem que Joel, la partie "Vue" du MVC est constituée par l'élément "ViewPart" pour moi (ou "EditorPart"). Cet élément est relié à un contrôleur qui centralise en effet les listeners, la gestion des événements, etc.
Le modèle est constitué par les classes et la logique "métier" de ton application. Certains (j'en fais partie) partent aussi du principe que le "modèle" doit être contenu dans un plugin à part (un plugin "core", à la différence du plugin "ui"), plugin qui est totalement indépendant de tous les plugins "org.eclipse.ui.*".
Pour le databinding, il est relativement simple à mettre en place, au moins sur les composants SWT, à partir du moment où ton objet est un "bean" Java, plus d'infos ici:
http://alain-bernard.developpez.com/...tabinding-swt/
Alain
Pas de messages techniques par MP, les forums sont là pour ça.
Rédacteur d'articles sur la plateforme Eclipse
N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse
connexion PostgreSQL -RCP application : comment mapper les données de la base de données
quelles sont les Frameworks utilisées
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager