Makale Özeti

Bu makalemizde sizlerle Gang Of Four(GoF) Creational tasarım desenlerinden Singleton Desenini inceleyeceğiz.

Makale

Singleton Tasarım Deseni Nedir Ne Zaman Kullanılır ?

Bu makalemizde sizlerle Gang Of Four(GoF) Creational tasarım desenlerinden Singleton Desenini inceleyeceğiz. Bu tasarım kalıbının implementasyonu kolaydır fakat çoğu yerde de kullanılmaktadır. Diyelim ki sisteminiz tek bir class tipinden uygulama boyunca tek bir örneğe ihtiyaç duyuyor ve bu örneğe her yerden erişimin mümkün olması gerekiyor. İşte o zaman bu tasarım desenini kolayca kullanabilirsiniz.

Desenin özellikleri

Bu tasarım deseninde 3 önemli olay vardır.

  • Sistem için tek bir kaynağa ihtiyaç duyulması
  • Bu kaynağının ilk kullanılacağı zaman oluşturulması.
  • Bu kaynağa global erişimin sağlanması.

Nerelerde kullanılır ?

  • Bir çok kaynağı tek bir sistemin kontrol etmesi durumunda (Printer bekleticisi)
  • Loglamalarda
  • Dosya sistemi ya da window managerlarda
  • Banka sistemlerinde hesap kesimi işlemlerinde vb...

Uml

Singleton tasarım deseninde, singleton tasarım deseni uygulanan sınıfın içinde erişim modifierı private olacak şekilde kendi tipinde bir değişken yer alır.

Cs

 

Logger sınıfımızda bir tane kendi tipinde değişken bulunmaktadır. Sınıfımızın constructorını erişim modifierı protected (private da olabilirdi) olarak tanımlıyoruz. Constructorı private ya da protected tanımlamızın nedeni, sınıfın uygulamanın herhangi bir yerinde izinsiz olarak yaratılmasının önüne geçmek olduğudur. Log fonksiyonu, fonksiyona parametre olarak geçen değeri file sisteme yazma işlemi için tanımlanmış. Read fonksiyonu ise log dosyasına yazılan veriyi, kullanıcının tercihine göre ya ekrana bastırmak ya da default padda göstermek ile sorumludur.

 

Kullanıcıdan yaşını girmesini istiyoruz, kullanıcı rakam yerine text girdiği zaman bu hatayı try catch içinde yakalayıp, alınan hatanın mesajını txt uzantılı log dosyamıza yazıyoruz. Daha sonra alınan hatanın içeriğini kullanıcının tercihine göre ekranda ya da default padde gösteriyoruz.

Ekran Görüntüsü

 

Bu makalemizde Creational tasarım desenlerinden Singleton desenin ne olduğunu, ne zaman kullanmamız gerektiğini ve bu tasarım deseninin implementasyonunun nasıl olduğunu anlatamaya çalıştık.

Bir sonraki makalemizde görüşmek üzere...

Sezgin ZEKA

sezginzeka@gmail.com

Yararlanılan Linkler:

http://www.codeproject.com/KB/tips/386926/img4.png