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 :

Question d'architecture [débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Par défaut Question d'architecture [débutant]
    Bonjour,

    Je souhaiterai connaitre la meilleure manière pour déclarer des paramètres (constantes, structures...) globaux dans un programme en c#.

    En c++ il suffisait de tout ajouter dans un fichier .h puis d'inclure ce fichier dans les sources qui le nécessitait.

    Qu'est il recommandé de faire en c# ? Existe t il l'équivalent des fichiers h ?

    La manière que j'ai utilisé est de déclarer mes structures et autres variables globales au début du fichier de ma form principale, puis pour y accéder depuis d'autres form j'utilise le mot clef using. Je ne sais pas si cette méthode est recommandée.

    Merci pour vos lumières.

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Pourquoi veux tu les déclarer dans ta forme principale ? désolé, je ne comprends pas vraiment ton besoin.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Pourquoi veux tu les déclarer dans ta forme principale ? désolé, je ne comprends pas vraiment ton besoin.
    En fait je me pose simplement la question de savoir comment (et ou) il est recommandé de déclarer ses variables globales dans une application winform en c#.

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    D'accord.

    Tout d'abord, il est assez rare d'utiliser des variables globales; cela traduit en général un (gros) défaut de conception. (le fait que tu débutes dans le langage ne rentre pas ici en ligne de compte, c'est valable pour tous les langages objets).

    Si tu veux à tout prix en utiliser, tu peux par exemple créer une classe static, et mettre tes variables dedans.

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public static class MyVariables
    {
    public static int Variable1;
    public static string Variable2;
    // etc ....
    }

  5. #5
    Membre confirmé Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Par défaut
    Salut.

    Pour des variables utilisables dans tout le programme, perso j'utilise les paramètres Settings ( ton application => Properties => Settings.Settings )
    et ça marche pas mal Bien sur ça ne résout pas ton problème pour les structs.

  6. #6
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Par défaut
    [QUOTE=Bluedeep;4078349]D'accord.

    Tout d'abord, il est assez rare d'utiliser des variables globales; cela traduit en général un (gros) défaut de conception. (le fait que tu débutes dans le langage ne rentre pas ici en ligne de compte, c'est valable pour tous les langages objets).
    [CODE]

    Alors ça, c'est complêtement faux.

    Tu as un logiciel qui a 30 clients.
    Pour ces 30 clients tu as 25 options dont l'accès dépend d'une clef d'enregistrement.

    Autant les avoir globalement disponible pour toute l'application que de devoir à chaque poser la question.(surtout que la réponse à cette question posée n fois entraine la même réponse).

    La vraie erreur d'architecture, c'est quand la croyance technique annihile le bon sens.

    Après la FACON de le faire peut être un problème d'architecture.
    Mais ça, c'est du code pur, pas de la conception applicative.


    Enfin pour repondre à la question tu as plusieurs options :
    - Les fichiers de ressources du projet, qui seront disponibles partout dans l'application
    - Les fichiers de config qui seront disponible partout dans le projet
    - Un singleton que tu initialises au démarrage, et donc disponible partout dans l'application
    - Un context d'un moteur IoC quelconque qui agira comme fabrique d'nstance dont tu aurais besoin au démarrage.

    -

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par B.AF
    Alors ça, c'est complêtement faux.

    Tu as un logiciel qui a 30 clients.
    Pour ces 30 clients tu as 25 options dont l'accès dépend d'une clef d'enregistrement.

    Autant les avoir globalement disponible pour toute l'application que de devoir à chaque poser la question.(surtout que la réponse à cette
    question posée n fois entraine la même réponse).
    Oui, ert alors ? a priori tu stockes tes options dans un singleton instancié avec les valeurs ad-hoc dépendantes de ta clef.

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

Discussions similaires

  1. [Architecture] Question d'architecture
    Par bourbaki2003 dans le forum Général Java
    Réponses: 3
    Dernier message: 11/07/2006, 10h38
  2. Réponses: 4
    Dernier message: 06/07/2006, 17h14
  3. [JPanel] [GUI] question d'architecture
    Par _KB_ dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/06/2006, 15h10
  4. Question d'un débutant sur Access
    Par RV80 dans le forum Access
    Réponses: 8
    Dernier message: 12/06/2006, 12h32
  5. question d'un débutant...
    Par chti_juanito dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/06/2005, 10h29

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