2017-06-18 2 views
1

Je me demande s'il est prudent de créer une instance d'une classe pour y accéder ensuite à des méthodes. Quelqu'un a dit quelque chose au sujet de l'injection de dépendance mais n'est jamais allé plus loin. Par exemple:Création d'une instance de la classe

private static WordfilterController instance; 

public static WordfilterController GetInstance() 
{ 
    if (instance == null) 
     instance = new WordfilterController(); 
    return instance; 
} 

Cela me permet d'accéder à des méthodes comme ceci:

WordfilterController.GetInstance().CheckString("hi"); 

Ma question est, est-ce optimale, et est-il sécuritaire?

+0

Je suis curieux de savoir ce que le commentaire d'injection de dépendance était. Je ne vois pas en quoi cela est pertinent pour cette question, mais si c'était pertinent à une question antérieure et que cette question est pertinente à cette question, alors ce commentaire est pertinent à cette question. –

Répondre

1

En supposant que cela est contenu dans la classe WordfilterController, ce que vous êtes par exemple illustre est une version simple du modèle de conception Singleton vous pouvez lire plus Jon Skeet's après.

Ce ne serait pas si elle avait un constructeur public tho.

Votre morceau de code n'a rien à voir avec injection de dépendances et il est également pas thread-safe, mais il doit faire le travail dans la plupart des cas.

+0

Merci pour la suggestion @MickyD, Est-ce plus clair de cette façon? – Deadzone

+1

Beaucoup mieux mon ami :) – MickyD