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

ASP.NET Discussion :

[3.5] Question d'architecture


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    CUCARACHA
    Invité(e)
    Par défaut [3.5] Question d'architecture
    Salut,

    J'ai besoin de gérer une liste de paires clé/valeur sachant que la valeur peut être de plusieurs types différents.

    exemple
    1: A,3
    2: B,Pierre
    3: C,Durand
    4: D,25/12/2007
    5: E,14 Rue des Marthyrs
    6: F,75014
    7: G,PARIS

    Je pourrais créer une classe de base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    abstract class _MaBase {
    public string Key {get;set;}
    public virtual bool isValid();
    }
    puis des héritières

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class IntField:_maBase{
    public int Value;
    public override bool isValid()
    }
     
    class StringField:_maBase{
    string Value;
    public override bool isValid()
    }
     
    class DateTimeField:_maBase{
    DateTime Value;
    public override bool isValid()
    }
    Au final, j'ai besoin d'avoir une List< _MaBase >

    qui pourra contenir n'importe laquelle des héritières

    Quelle structure me suggereriez-vous.

    ++

    Laurent
    Dernière modification par Deepin ; 21/01/2010 à 15h16. Motif: Balises [CODE]...[/CODE]

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Tout dépend de ce que tu veux faire de ta liste, mais peut-être qu'un simple Dictionnary<string, object> ferait l'affaire.

    Il faudrait que tu en dises plus sur le but de la chose.

  3. #3
    CUCARACHA
    Invité(e)
    Par défaut
    Ben je voulais avoir une liste fortement typée... Avec object je sais faire et avec new sur les membres aussi mais je ne trouve pas ça élégant.

  4. #4
    CUCARACHA
    Invité(e)
    Par défaut
    En fait je bosse sur un générateur de formulaires qui contient des contrôles eux mêmes constituée d'un titre, d'un champ (textbox, dropdown, datepicker...) et d'un validateur.

    les champs sont dans un repeater (groupe fonctionnel de champs)
    les groupes sont dans un repeater (groupes du formulaire)
    Le bouton ok étant au niveau du formulaire, je voudrais créer une liste sérializable de l'ensemple des paires "TAG"/Valeur le Tag étant un repaire textuel que j'utilise ensuite dans ma DAL.

    C'est clair ?

  5. #5
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,
    Au final, j'ai besoin d'avoir une List< _MaBase >
    Sauf erreur de ma part une liste d'objets de type _MaBase ne donnera rien d'autre que des _MaBase. Tu n'aura pas accès au propriétés des filles.
    Sur ce genre d'heritage la classe de base est plutôt abstraite donc pas sensée être instanciée. Au final, entre un dictionnaire d'objets et ce que tu souhaites faire il n'y a pas beaucoup de différences.
    En ce moment, je bosse sur un projet dans lequel on manipule une collection de chaînes. Chaque valeur correspond à un type différent. Pour utiliser les valeurs il n'y a pas moyen de savoir quel est le type d'origine pour le convertir ensuite.

    C'est pour quel usage? Si tu veux un objet fortement typé qui correspond au informations de quelqu'un il est préférable de faire un objet métier.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    CUCARACHA
    Invité(e)
    Par défaut
    Salut,

    En fait, List< _MaBase > peut contenir n'importe quel héritier de la classe abstraite _MaBase. D'ailleurs comme elle est abstraite, la liste ne peut contenir que des héritiers non abstraits.

    ++

    Laurent

Discussions similaires

  1. Question sur Architecture d'un jeu vidéo 3D
    Par Polygon dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 28/10/2007, 12h43
  2. [C# 2.0] Question d'architecture - code dynamique
    Par StormimOn dans le forum Framework .NET
    Réponses: 11
    Dernier message: 06/03/2007, 11h19
  3. [Création d'un moteur] Petite question d'architecture technologique
    Par ludovic85 dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 07/02/2007, 18h00
  4. [Architecture] Question d'architecture
    Par bourbaki2003 dans le forum Général Java
    Réponses: 3
    Dernier message: 11/07/2006, 10h38
  5. [JPanel] [GUI] question d'architecture
    Par _KB_ dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/06/2006, 15h10

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