Précédent   Forum du club des développeurs et IT Pro > Dotnet > Langages
Langages Forum d'entraide sur les langages de développement du Framework .NET (C#, VB.NET, C++, F#, etc.).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/06/2012, 15h00   #1
miltone
Membre habitué
 
Homme
Développeur informatique
Inscription : mai 2007
Messages : 518
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 : 518
Points : 134
Points : 134
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);
            }
        }
}
miltone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2012, 16h25   #2
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 353
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2010
Messages : 1 353
Points : 2 870
Points : 2 870
Envoyer un message via MSN à GuruuMeditation
c'est un constructeur et une propriété statique. Le constructeur est donc appelé qu'une fois.
__________________
Microsoft MVP : Visual C#

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)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2012, 17h05   #3
miltone
Membre habitué
 
Homme
Développeur informatique
Inscription : mai 2007
Messages : 518
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 : 518
Points : 134
Points : 134
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.
miltone est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h32.


 
 
 
 
Partenaires

Hébergement Web