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 :

Regrouper un grands nombres d'objets différents dans une classe


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 20
    Par défaut Regrouper un grands nombres d'objets différents dans une classe
    Bonjour à tous,

    Dans une interface graphique, je travail avec un grand nombre d'objets et de variables. Chacun d'eux peuvent être utilisés à différents endroit de l'interface (exemple : affichage sur la page principal et modification dans une page de gestion des paramètres ...).

    J'ai besoin de sauvegarder et pouvoir charger leur état à n'importe quel moment.

    J'aurais voulu savoir s'il existait une solution simple pour regrouper un grand nombre d'objets au même endroit, et pouvoir les utiliser facilement, s'abonner à leurs événements ...

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    Salut,
    je ne sais pas quelle version de VS tu utilises (moi je suis resté à 2005 donc Linq je connais po )

    au plus basique, si tu connais d'avance tous les types d'objets :
    perso j'aurais créé une classe que je refilerais entre mes différentes classes comme paramètre.
    cette classe contiendrait une collection de chacun de ces types d'objet, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Class MonGaragedObjets
    {
    public List<Avion> AvionCollection;
    public List<Bateau> BateauCollection;
    public List<Bagnole> BagnoleCollection;
     
    public MonGaragedObjets()
    {
    AvionCollection = new List<Avion>();
    BateauCollection = new List<Bateau>();
    BagnoleCollection = new List<Bagnole>();
    }
     
    //mes différentes fonctions pour sauver/charger mes données
    //m'abonner aux events etc...
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 20
    Par défaut
    Je suis sous VS 2010 Express, et je ne connais pas non plus Linq

    J'avais aussi pensé à une classe dans ce genre mais en utilisant des Dictionary au lieu des List. Je trouve ça un peu "lourd" comme solution

    EDIT : Je n'avais pas pensé à la sérialisation non plus ...

  4. #4
    Membre habitué
    Inscrit en
    Décembre 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 12
    Par défaut Le but est de rassembler ou de mettre en cache?
    Bonjour,

    Je suis sur VS 2008 sp 1 et prochainement sur 2010 rc (et je connais bien Linq ).

    En ce qui concerne ton probleme, tu pourais créer une DLL (genre settingsManager) qui prend en charge la sauvegarde et retauration des valeurs des variables. Toutefois, tout dépend de ton besoin....

    si tu veux seulement les rassembler (en mémoire), tu as le choix entre Dictionnaire, liste ou meme IEnumerable si les types sont différents entre les paramètres. Si tu a bcp d'autre variables tu peux aussi miser sur les objets ADO (datatable, dataset,...). L'interet avec l'ADO c'est qu'avec une seule instruction tu peux créer une sauvegarde en xml des données en mémoire (utile pour des backup plans lol).

    Enfin voila ... dis moi et je te dirais....

    Cordialement,

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 20
    Par défaut
    En ce qui concerne ton probleme, tu pourais créer une DLL (genre settingsManager) qui prend en charge la sauvegarde et retauration des valeurs des variables. Toutefois, tout dépend de ton besoin....
    C'est effectivement un truc dans le genre qu'il me faut !

    Chachnaq, ça ne te dérangerais pas de me filer un p'tit coup de main pour la mise en place de l'architecture ?

  6. #6
    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
    Je te suggères d'utiliser la POO : c'est-à_dire de faire hériter tous les objets "Avion", "Bateau", "Bagnole" d'un objet de base "Vehicule".
    "Véhicule" contiendra des méthodes Virtual qui seront redéfinies (Override) dans chaque classes basée sur "Vehicule" pour les adapter à chaque objet hérité.

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/02/2009, 16h20
  2. objets différents dans une colonne de datagrid
    Par Pascale38 dans le forum Flex
    Réponses: 25
    Dernier message: 22/01/2009, 18h05
  3. Réponses: 28
    Dernier message: 11/10/2006, 22h36
  4. Nombre de valeurs différentes dans une colonne
    Par KrusK dans le forum Langage SQL
    Réponses: 4
    Dernier message: 24/08/2005, 14h18
  5. URGENT - Nombre d'enregistrements différents dans une table
    Par Jeankiki dans le forum Bases de données
    Réponses: 6
    Dernier message: 11/08/2004, 15h51

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