Lütfen C# içinde Singleton Design Pattern uygulamasının performans kısıtlaması ile uygulanmasının en iyi yolunun ne olduğunu bildirin.C# içinde Singleton Design Pattern uygulamasının performans kısıtlaması ile uygulanmasının en iyi yolu nedir?
cevap
jon skeet tarafından Signleton deseninde best article'dan biri.
Başvurulan makalenin daha yeni URL'si: http://csharpindepth.com/Articles/General/Singleton.aspx –
Jon Skeet en
public class Singleton
{
static readonly Singleton _instance = new Singleton();
static Singleton() { }
private Singleton() { }
static public Singleton Instance
{
get { return _instance; }
}
}
Implementing the Singleton Pattern in C# Sadece son zamanlarda, ben Singleton birçok kişi tarafından bir anti-desen olarak kabul edilir ve kaçınılması gerektiğini bilmek geldi. Temizleyici çözüm DI veya diğer özellikleri kullanmak olabilir. Eğer singleton ile gitmek bile sadece What is so bad about singletons?
C# in Depth gelen sözcüklerle yazılmış bu ilginç tartışmayı okuyun: evreli değil dan C# Singleton deseni uygulamak için birçok yol, tam lazily yüklenmiş, parçacığı için vardır Güvenli, basit ve son derece performanslı bir versiyon.
İyi sürümü - NET 4'ün Tembel türünü kullanarak:
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()
{
}
}
Çok basit ve iyi bir performans sergiliyor. Ayrıca, örneğe ihtiyacınız varsa IsValueCreated özelliği ile henüz oluşturulup oluşturulmadığını kontrol etmenizi sağlar.
- 1. Bir tablo içinde rastgele desen oluşturmanın en iyi yolu nedir
- 2. Jmeter'da en iyi yolu bulmanın en iyi yolu nedir?
- 3. Django: Modüllerde "durum" alanının uygulanmasının en iyi yolu
- 4. jQuery ile DOM'a HTML'yi yerleştirmenin en iyi yolu nedir?
- 5. CouchDB'de yabancı anahtarların uygulanmasının deyimsel yolu nedir?
- 6. Hız içinde bir diziye erişmenin en iyi yolu nedir?
- 7. Python'da HTML işlemenin en iyi yolu nedir?
- 8. Çoğaltılmış kodun kaldırılmasının en iyi yolu C#
- 9. C# daki eşzamansız HttpWebRequest istisnalarını işlemenin en iyi yolu nedir?
- 10. Bir dosyanın başlangıcını C cinsinden kırpmanın en iyi yolu nedir?
- 11. C++ 'da HTML çıktısı üretmenin en iyi yolu nedir?
- 12. php'de uluslararasılaşmanın en iyi yolu nedir?
- 13. DateTime'ı çerezlere depolamanın en iyi yolu nedir?
- 14. C# içinde değişmez bir sınıf oluşturmanın en kısa yolu nedir?
- 15. Denemekten kaçınmanın en iyi yolu nedir?
- 16. ClickOnce dağıtımlarının oluşturulmasının en iyi yolu nedir
- 17. Delphi'de C# 'in BackgroundWorker uygulamasını gerçekleştirmenin en iyi yolu nedir?
- 18. C++ 'da bellek sızıntılarını kontrol etmenin en iyi yolu nedir?
- 19. C++ uygulamasında Kesir türünü uygulamanın en iyi yolu nedir?
- 20. C# de boğazını yapmanın en iyi yolu nedir?
- 21. Singleton Pattern Unity birden çok kopya oluşturur
- 22. core.clj'yi kurmanın en iyi yolu nedir?
- 23. Dosyayı sunucudan indirmenin en iyi yolu nedir
- 24. Ember.js'de olayları işlemenin en iyi yolu nedir?
- 25. Perl'de ekranı temizlemenin en iyi yolu nedir?
- 26. Bir animasyonu sürmenin en iyi yolu nedir?
- 27. Kitaplığı zenginleştirmeyi en iyi yolu scala'da nedir?
- 28. Javascript yürütme işleminin en iyi yolu nedir?
- 29. Nesneleri kapsayıcılarda paylaşmanın en iyi yolu nedir?
- 30. Süreyi saklamanın en iyi yolu nedir? MySQL
Konuştuğunuz "performans kısıtlaması" nedir? – Oded
En hızlı uygulamayı istiyorum. Bu sitedeki bir makaleyi duydum ama ismi hatırlamıyorum. Birisi biliyorsa, lütfen buraya gönderin. –