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 :

Conseils structure appli


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 75
    Par défaut Conseils structure appli
    Bonsoir à tous,
    J'aimerais un conseil d'ordre général sur la structure des applis en c#
    J'ai une classe "User" dans laquelle j'ai plusieurs méthodes qui interrogent une base sql pour récupérer des données.
    Chaque fois que j'instancie cette classe, je n'ai pas besoin de l'ensemble des données.
    Je suis donc partagé entre l'aspect "pratique" en récupérant toutes les données lors de l'instanciation et l'aspect "performance" en ne récupérant les données que lorsque j'en ai besoin.
    Voici mes 2 options :
    Comme ceci
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     class User
        {
            private int _id;
            private List<ClassA> _infos;
            private List<ClassB> _sites;
            private List<ClassC> _contacts;
     
            public User(int iD)
            {
                _id = iD;
                GetInfos();
                GetSites();
                GetContacts();
                //etc...
            }
            private void GetInfos()
            {
                _infos =....;
            }
            private void GetSites()
            {
                _sites =....;
            }
            //etc...
     
            public List<ClassA> Infos
            {
                get
                {
                    return _infos;
                }
            }
            public List<ClassB> Sites
            {
                get
                {
                    return _sites;
                }
            }
        }
        class Main
        {
            User _actualUser = new User(1);
            DoSomething(_actualUser.Infos);
            ///bla,bla,bla
            DoSomething(_actualUser.Sites);
            ///bla,bla,bla
        }
    ou comme celà
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    class User
        {
            private int _id;
            private List<ClassA> _infos;
            private List<ClassB> _sites;
            private List<ClassC> _contacts;
     
            public User(int iD)
            {
                _id = iD;
            }
            public void GetInfos()
            {
                _infos =....;
            }
            public void GetSites()
            {
                _sites =....;
            }
            //etc...
     
            public List<ClassA> Infos
            {
                get
                {
                    return _infos;
                }
            }
            public List<ClassB> Sites
            {
                get
                {
                    return _sites;
                }
            }
        }
        class Main
        {
            User _actualUser = new User(1);
            _actualUser.GetInfos();
            DoSomething(_actualUser.Infos);
            ///bla,bla,bla
            _actualUser.GetSites();
            DoSomething(_actualUser.Sites);
            ///bla,bla,bla
        }
    Merci pour vos conseils/expériences avisés

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Je dirais que cela dépend de ton besoin.

    As tu besoin de récupérer une seule fois tes données pour un traitement ou
    As tu besoin de récupérer des données en temps réelles avec une actualisation.

    Pour ma part j'opterai pour la deuxième solution car rien ne t’empêche d'instancier ta classe et de demander la récupération des données immédiatement, elle me semble donc plus flexible.

    Si tu as un problème de performance il faut vérifier l'optimisation de tes requêtes peur être, ça passe aussi par récupérer uniquement ce qui est nécessaire.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 75
    Par défaut
    Ok c'est qu'il me semblait le plus judicieux également.
    Si je pars du principe que je doit récupérer les données de temps en temps, les récupérer "à la demande" sera plus performant.
    Merci

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

Discussions similaires

  1. [Conseil] Structure de mes pages ASPX
    Par gamerome dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/02/2009, 12h38
  2. Réponses: 2
    Dernier message: 06/01/2009, 17h05
  3. [RegEx] Conseil structure pour bdd dictionnaire
    Par loopback dans le forum Langage
    Réponses: 1
    Dernier message: 27/12/2007, 19h50
  4. [Conseil] structure du site
    Par Dr@ke dans le forum JSF
    Réponses: 14
    Dernier message: 11/10/2007, 11h50
  5. [Conseils] Structure d'un XML de sérialization ?
    Par jbat dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 13/07/2006, 18h03

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