Bonjour à tous!
Je commence un nouveau projet. Je suis en pleine phase de conception.
Ce projet doit proposer une fonctionnalité de base qui est "Visualiser les données". C'est très simple et c'est ainsi pour ne pas dérouter les premiers utilisateurs du logiciel qui n'ont besoin que de consulter les données.
Mais il doit être possible d'étendre les fonctionnalités du logiciel pour les utilisateurs avancés (modifier telle donnée, supprimer, ajouter etc...) tout en utilisant la même base (visualiser), pour éviter d'avoir à maintenir deux logiciels différents faisant la même chose à la base.
Alors j'ai pensé à un système de plugin, mais je suis toujours débutant en C/C++ et là on touche à des choses de bas niveau avec lesquelles je ne suis pas familier. Je ne vois pas comment procéder. J'ai les contraintes suivantes:
-Il y a une interface graphique :wxWidgets.
-Il y a de la 3D: OpenGL.
-Il y a du XML et du DOM: Xerces.
-Les greffons peuvent modifier l'IHM pour y rajouter leurs fonctionnalités.
-Le logiciel sera d'abord utilisé sous Windows. Mais Mac et Linux sont envisageables à court terme. La solution doit donc être multi-plateforme.
Comment répondriez-vous à ces contraintes pour la réalisation du système de greffons? Existe-t-il des patrons de conception pour cela?
J'envisage une fonction qui cherche les greffons dans un répertoire particulier du programme. Ces greffons seraient des librairies dynamiques, déclarant une fonction "register_me(pointeur_vers_wxFrame)". Est-ce une bonne piste ou un très mauvais point de départ? Est-ce portable?
J'ai besoin de vos lumières!
Merci
Cordialement
Daniel
Partager