Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2007
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mai 2007
    Messages : 638
    Points : 217
    Points
    217

    Par défaut La class possédant un attribut de même type que la class

    Salut à tous,

    J'aimerais comprendre un code qui m'a été fourni en .NET. Je suis dans une situation ou j'ai une classe (contenu dans la couche model) qui possède un attribut du type de la classe elle-même.

    Je trouve plutôt étonnant surtout quand le code compile bien, car pour moi cela fait un referencement infini et sans fin d'objet qui créé un objet de même classe qui créé un objet de même classe etc....

    S'agit-il d'un Design Pattern particulier ou qu'elle principe régis ce comportement ?

    Merci pour votre éclairage.


    Exemple :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    public sealed class CachingServiceLocator : IDisposable
    {
     
            private Hashtable cache; /// Le cache des références vers les services métiers
     
            private static volatile CachingServiceLocator me; /// L'unique instance du Service Locator
     
            /// Le constructeur statique
            static CachingServiceLocator()
            {
                try
                {
                    me = new CachingServiceLocator();
                }
                catch (Exception)
                {
                    MessageBox.Show("Impossible de créer le service locator...\nVeuillez accepter toutes nos excuses pour le désagrément occasionné..." , "Service Locator !", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    }

  2. #2
    Expert Confirmé
    Avatar de GuruuMeditation
    Homme Profil pro Olivier Matis
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 621
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Matis
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 621
    Points : 3 402
    Points
    3 402

    Par défaut

    c'est un constructeur et une propriété statique. Le constructeur est donc appelé qu'une fois.
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2007
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mai 2007
    Messages : 638
    Points : 217
    Points
    217

    Par défaut

    Effectivement quand on a un indice de recherche c'est nettement plus simple de comprendre

    D'ailleurs j'avais appris à l'époque le Design pattern singleton qui semblait bien plus compliqué que ce constructeur static pour au final arrivé à la même chose.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •