1. Ana Sayfa
  2. C#
  3. Singleton Tasarım Deseni ve Thread Safe Nedir ?

Singleton Tasarım Deseni ve Thread Safe Nedir ?

112220_2104_SingletonTa1.jpg
DMC Teknoloji

Bugün sizlerle yazılım geliştirmede kullanılan tasarım desenlerinden desenini inceleyeceğiz. Singleton ile beraber 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.

Nedir ?

, 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

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. 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 ?

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 ve Thread Safe yapısını öğrenmiş olduk.

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

Bu konuyla ilgili sorularınızı http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

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

DMC Teknoloji
Yorum Yap

Yazar Hakkında

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.

Yorum Yap