IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#]Conseils pour un projet modulaire


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Par défaut [C#]Conseils pour un projet modulaire
    Bonjour,

    Je voudrais un conseil sur la (les) bonne(s) technique(s) pour réaliser un projet modulaire. Je m'explique (désolé, c'est un peu long, mais je pense nécessaire pour cerner la question) :

    Le système comporte une série de cartes électroniques disposant de leur propre logiciel embarqué sous microcontroleur (tout ça, ça fonctionne déjà).

    Il y a aussi un logiciel de paramétrage et de configuration tournant sur PC, et c'est ce qui concerne ma question. Pour l'instant, ce logiciel tourne en Vb6 et se présente comme un "bloc" non objet. Chaque ajout d'une nouvelle carte impose de revoir l'intégralité de ce logiciel parce que tout communique.

    Vu les nouvelles fonctionnalités prévues, c'est devenu ingérable, et c'est pourquoi je vais réécrire le logiciel de gestion en C# dans une philosophie "pur objet". Ceci va me permettre d'intégrer une série de nouveaux modes pas encore existants.

    Je souhaite donc réaliser un "logiciel de base", contenant toutes les fonctions "standard" et qui resterait "immuable (sauf correctifs ou updates évidemment).

    Et, en //, pour chaque carte, proposer à l'utilisateur un "pack" contenant tout ce qui est nécessaire pour la construction de la carte électronique ET (et c'est là où on arrive au coeur du problème) une dll (ou autre) à placer dans le répertoire du logiciel "principal".

    Le logiciel principal, une fois lancé, devrait pouvoir "reconnaître" le matériel à gérer en fonction des librairies installées, et chaque dll devrait pouvoir être "construite" indépendemment du programme principal (méthodes et propriétés respectant un schéma imposé).

    De là, mes questions sur la meilleure façon de procéder, dont :

    - Comment gérer par le programme principal les librairies ajoutées? (simple "scan" du répertoire??), et comment les instancier dynamiquement?

    - Comment "imposer" les noms des méthodes et propriétés : une interface? Obliger à dériver de classes abstraites? Autre méthode plus efficace?

    - Comment travailler sur la solution en entier (tester les communications etc) SANS devoir copier manuellement les librairies regénérées dans le répertoire du programme? Bref, comment avoir en mode "exécution par l'utilisateur" un mécanisme d'auto-détection des librairies tout en ayant en mode "debuggage par moi-même" la souplesse d'une solution "intégrée"?

    Il s'agit d'un projet qui tourne déjà et dont le développement devrait encore se poursuivre sur plusieurs années. L'état actuel m'impose de revoir le programme "pc" en intégralité, mais je voudrais ne recommencer ça (c'est du boulot) qu'une seule fois, et donc partir sur les bases idéales, d'où mes questions.

    En espérant que quelqu'un puisse me fournir des pistes intéressantes, merci d'avance,

    Claude

    PS : Le projet est open-source

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    - Comment "imposer" les noms des méthodes et propriétés : une interface? Obliger à dériver de classes abstraites? Autre méthode plus efficace?
    Dériver d'une classe de base avec des methodes abstraites et des méthodes standard qui seront surement aussi utiles.
    Comment travailler sur la solution en entier (tester les communications etc) SANS devoir copier manuellement les librairies regénérées dans le répertoire du programme? Bref, comment avoir en mode "exécution par l'utilisateur" un mécanisme d'auto-détection des librairies tout en ayant en mode "debuggage par moi-même" la souplesse d'une solution "intégrée"?
    Une solution commune avec des #ifdef référant à des variables du projet.
    et aussi, si necessaire, pour partager les sources entre différents projets faire (termes de la version US) "Add Existing Item" et "Add as Link".

  3. #3
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Salut,

    Dans l'atelier 4 du coach C#, il y a une partie "DEVELOPPER UNE EXTENSION A VOTRE APPLICATION" qui, je pense, correspond à ce que tu cherches.

    Philippe


    http://msdn.microsoft.com/fr-fr/vcsh...boratoire.aspx

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Par défaut
    Merci pour les réponses.
    Désolé pour le retard de réaction, j'étais malade

    Claude

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin de conseils pour un projet
    Par JnewB dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 28/08/2006, 09h55
  2. Conseil pour un projet
    Par nicolas66 dans le forum C++
    Réponses: 1
    Dernier message: 28/07/2006, 00h00
  3. Besoin de conseils pour un projet corba
    Par kaizersoze10 dans le forum CORBA
    Réponses: 5
    Dernier message: 23/04/2006, 21h01
  4. Réponses: 4
    Dernier message: 06/03/2006, 17h54
  5. [SGBD Libres] Conseils pour un projet de logiciel de gestion
    Par nh2 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 30/01/2006, 08h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo