Bitte lassen Sie mich wissen, wie Sie Singleton Design Pattern in C# mit Leistungseinschränkung am besten implementieren?Was ist die beste Methode zur Implementierung von Singleton-Entwurfsmustern in C# mit Leistungsbeschränkungen?
Antwort
Einer der best article auf Signleton Muster von Jon Skeet.
Neuere URL für den Artikel, auf den verwiesen wird: http://csharpindepth.com/Articles/General/Singleton.aspx –
Jon Skeet Implementing the Singleton Pattern in C#
public class Singleton
{
static readonly Singleton _instance = new Singleton();
static Singleton() { }
private Singleton() { }
static public Singleton Instance
{
get { return _instance; }
}
}
Erst vor kurzem kam ich zu wissen, dass Singleton ein Anti-Muster von vielen betrachtet und sollte vermieden werden. Die sauberere Lösung könnte die Verwendung von DI oder anderen Merkmalen sein. Auch wenn Sie mit Singletons gehen gerade gelesen diese interessante Diskussion What is so bad about singletons?
von C# in Depth umschrieben: Es gibt verschiedene Möglichkeiten, das Singletonmuster in C# Implementierung von nicht Thread-sicher zu einem vollständig träge belasteten, Gewinde- sichere, einfache und hochperformante Version.
Beste Version - mit .NET 4 faulem Typ:
public sealed class Singleton
{
private static readonly Lazy<Singleton> lazy =
new Lazy<Singleton>(() => new Singleton());
public static Singleton Instance { get { return lazy.Value; } }
private Singleton()
{
}
}
Es ist einfach und funktioniert gut. Außerdem können Sie überprüfen, ob die Instanz mit der Eigenschaft IsValueCreated bereits erstellt wurde oder nicht, falls Sie diese benötigen.
- 1. Was ist die bevorzugte Methode zur Implementierung von hashCode()?
- 2. Was ist die beste Methode zur Integration der TFS-Versionskontrolle?
- 3. Die beste Methode zur Implementierung eines Beobachtermusters in Delphi
- 4. Beste Methode zur Implementierung von IXmlSerializable ReadXml() mit XPath
- 5. Was ist die "beste" kanonische Implementierung von Equals() für Referenztypen?
- 6. Was ist die beste Bibliothek zur Rechtschreibprüfung für C#?
- 7. Was ist die beste Diktat-Implementierung in Python?
- 8. C#: Gute/beste Implementierung der Swap-Methode
- 9. Was ist die beste Methode zur Implementierung der Toolbar in der Symbolleiste von Android Apps als Aktionsleiste oder Standalone Toolbar?
- 10. Trimmen von numpigen Arrays: Was ist die beste Methode?
- 11. Was ist die beste Methode zur Objekterkennung in Bewegtbildern mit niedriger Auflösung?
- 12. Was ist die empfohlene Bcrypt C-Implementierung?
- 13. Was ist die beste Vorgehensweise für die Implementierung einer 'semi-virtuellen' Methode?
- 14. Was ist das beste C# -Muster für die Implementierung einer Hierarchie mit einer Enumeration?
- 15. Was ist die Motivation der Implementierung von C# ExpressionVisitor?
- 16. Was ist die beste Methode zur Formularvalidierung in WPF (mit Databinding)?
- 17. Was ist die beste Methode und akzeptierte Methode zur Lösung dieses Threading- und Datenintegritätsproblems?
- 18. Was ist die beste Methode zum Einstellen von Bildquellen?
- 19. Was ist die beste Methode zum Aufräumen von CSS?
- 20. Was ist die beste Methode zum Indizieren von eindeutigen Textfeldern?
- 21. Was ist die beste Methode zum Erstellen von ClickOnce-Bereitstellungen?
- 22. Was ist die beste Methode zum Speichern/Berechnen von Benutzerbewertungen?
- 23. Die beste Methode zur Vermeidung von Speicherausnahme in der Anwendung
- 24. Was ist die beste Implementierung für DB Audit Trail?
- 25. Beste Implementierung für eine isNumber (string) -Methode
- 26. Was ist die beste Stemming-Methode in Python?
- 27. Was ist die beste OAuth2 C# -Bibliothek?
- 28. Was ist die beste Anwendung von. Dispose()
- 29. Was ist die beste Map-Implementierung, die beim Speichern von Ganzzahlen mit char-Schlüsseln verwendet wird?
- 30. Was ist die beste Methode, Veriable in Java zu definieren?
Was ist die "Leistungseinschränkung", von der Sie sprechen? – Oded
Ich möchte die schnellste Implementierung. Ich habe von einem Artikel auf dieser Seite gehört, erinnere mich aber nicht an den Namen. Wenn jemand es weiß, bitte posten Sie es hier. –