Ich hatte noch eine Interviewfrage. Ich dachte, das wäre albern, aber vielleicht fehlt mir etwas. Die Frage wurde gestellt, welches GoF-Muster das ist (Antwort: Singleton), und wenn es irgendwelche Probleme gibt, wie löse ich sie.Singleton Code-Auszug, eine Interview-Frage
Ich sehe keine Probleme. Ich habe erwähnt, dass das niemals freigegeben wird und ich erwarte das von diesem Muster. Das ist alles was ich gesagt habe. Fehle ich etwas?
public class Class1
{
private static Class1 oInstance = null;
private Class1() { }
public static Class1 GetInstance()
{
if (oInstance == null)
{
oInstance = new Class1();
}
return oInstance ;
}
}
+1 ... obwohl ich persönlich nicht typeof (Class1) zum Sperren verwenden würde, sondern nur eine Objektinstanz, die für nichts anderes verwendet wird. –
Ich bin absolut mit Fredrik Mörk - das Sperren eines Typenobjekts ist wirklich eine schlechte Übung (wie das Sperren ist). Jeder Code kann Sie (auch über App-Domains hinweg) sperren, wenn Sie Typobjekte sperren (und jeder Code, der Zugriff auf eine Instanz hat, kann Sie sperren, wenn Sie diesen sperren). Sperre (typeof (Class1)) {Class1.GetInstance(); } und Sie sind in ernsthaften Schwierigkeiten ... –
Garry, siehe das Muster in meiner Antwort, seine Art und Weise sauberer IMHO –