Singleton Tasarım Deseni ve Thread Safe Nedir ?
  1. Anasayfa
  2. C#

Singleton Tasarım Deseni ve Thread Safe Nedir ?

0

Bugün sizlerle yazılım geliştirmede kullanılan tasarım desenlerinden Singleton desenini inceleyeceğiz. Singleton ile beraber Thread Safe yöntemini de inceleyeceğiz.Tasarım desenleri kod çokluğunu ve kod tekrarını önlemek amacıyla aynı zamanda bellekte nesnelerin daha az yer kaplamasını sağlamak gibi amaçlar için kullanılmaktadır.

Singleton Tasarım Deseni Nedir ?

Singleton deseni, bir nesnenin bir defa oluşturularak her yerde kullanılmasını amaçlamaktadır. Böylece nesne birden fazla oluşturulmaz ve bellekte çok yer kaplayarak belleği gereksiz yere meşgul etmemektedir. Örneğin; bir projede veri tabanı bağlantı nesnesini bu yöntem ile yazabiliriz. Böylece veri tabanı ile ilgili işlemlerde birden fazla veri tabanına istek atmanız gerekmez.

Tasarım desenini incelemek amacıyla Visual Studio geliştirme ortamını açalım ve bir proje yapalım.

Resim-2

Create A New Project seçeneğine tıklayalım.

Resim-3

.Net Core Console App projesi seçelim ve Next seçeneği ile devam edelim.

Resim-4

Projemize bir isim verelim ve Create seçeneği ile projemizi oluşturalım.

Resim-5

Bir sınıf oluşturalım ve sınıfın kurucu metodunu özel yaprak dışarıdan erişilmesini engelleyelim. Böylece bu sınıf herhangi biri tarafından yeniden oluşturulamayacaktır. Static bir metot ve Static bir nesne oluşturalım. Metodumuzda nesne eğer oluşturulmamış ise oluşturarak gönderelim. Böylece Singleton desenini uygulamış olduk.

Thread Safe Singleton Nedir ?

Yapmış olduğumuz örnekte nesne eğer boş ise yeniden oluşturup gönderiyorduk. Bu yöntem bir soruna sebep olabilir; eğer bu nesneye birden fazla istek gelirse nesne sürekli oluşturulmaya çalışılacaktır böyle bir olayda sistem kilitlenebilir. Bunu engellemek için Thread Safe yöntemini kullanmalıyız.

Resim-6

Burada Lock parametresini kullanarak nesne daha önceden oluşturulmuş ise oluşturulan nesneyi geri göndererek işlem sağlıyoruz. Böylece nesne tekrardan oluşturulmaya çalışılmıyor.

Peki, bu oluşturulan nesne bellekten ne zaman silinmektedir diye düşünüyorsanız, IIS yeniden başlatıldığında veya uygulama Publish edildiğinde oluşturulan nesne de bellekten silinmektedir.

Böylece Singleton tasarım deseni ve Thread Safe yapısını öğrenmiş olduk.

Bir sonra ki makalede görüşmek dileğiyle.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: .design pattern,singleton,singleton tasarim deseni,thread safe,singleton nedir,yazılım,tasarım deseni,singleton deseni,static,csharp,.net

Bu İçeriğe Tepkin Ne Oldu?
  • 4
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 5
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Servan Oral, 1991 yılında Diyarbakır’da doğdu. Üniversite öncesi öğrenimini Malatya’da tamamladı. Dicle Üniversitesi ve Atatürk Üniversitesi Bilgisayar Programcılığı mezunudur. .Net Developer olarak birçok firmada görev almıştır. MSHOWTO bünyesinde yazar olarak görev yapmaktadır. Uzmanlık alanları olan; Bilişim Güvenliği, Microsoft Azure, Microsoft Visual Studio, C# .Net, Asp.Net, Cloud Computing, Microsoft Azure SQL, Microsoft SQL Server, MVC .Net alanlarında yazarlık yapmakta ve etkinliklerde uzmanlık alanlarında konuşmacı olarak görev almaktadır. MCP sertifikası bulunmaktadır.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir