2 sonuçtan 1 ile 2 arası

Konu: C# Singleton Tasarım Deseni İçin Örnekli Anlatım

  1. #1

    Standart C# Singleton Tasarım Deseni İçin Örnekli Anlatım

    Merhabalar bu makalede sizlere Singleton tasarım desenini oluşturduğum bir örnek ile anlatmaya çalışacağım.

    Nesne yönelimli programlamada yazılan bir sınıf örneğinin her seferinde yeniden kurulmasını ve her seferinden farklı sınıf örneğinin oluşturulmasını engelleyen yani sınıf örneğinin sadece bir kere kurulmasını sağlayan tasarım desenine denir.


    Resim-1

    Bu tasarım deseninde amaç aynı sınıf üzerinde çalışılmasıdır. Örneğin bir araba sınıfımız olsun.


    Resim-2

    Nesne yönelimli programlama ilkesine göre sınıfı kurmak için “new” ifadesi kullanılıp, constractor ile sınıf kurulur. Fakat tasarım desenimizde sınıfın constractor ile kurulmasını engelleyeceğiz ve new ifadesi ile sınıfı kuramayacağız. Sınıfımızı class içinde kurup dışarı göndereceğiz.


    Resim-3

    Burada öncelikle static ifadeli bir instance tanımladık bunu static tanımlamamızın sebebi ise static ifadelerin sınıf kurulmadan çalıştırılabilmesidir. Bir adet de static constractor tanımladık ve instance ile sınıfı içerisinde kurduk. Static constractor sadece sınıf kurulduğunda çalışır ikinci bir kurulumda çalışmaz. Aynı zamanda yazmış olduğumuz constractor private yani dışardan görünmeyecek şekilde yazılmıştır. Kurulan sınıfın dışarıya açık olup kullanılabilmesi için property yazdık ve sadece değer döndüren get bloğunu aldık. Böylece sınıfı dışardan sadece bir kere kurabilir ve kullanabiliriz. Kurulumunu ise şöyle yapıyoruz.


    Resim-4

    Burada kurulumu new ifadesi ile değil static değerlerin gönderdiği kurulum ile yapmaktayız. Burada iki adet araba tanımladım ve arabalardan birincisinin değerini verdim. Tanımladığım ikinci araba değerine marka yazmadığım halde araba markası birinci araba ile aynı olarak ekrana yazıldı.


    Resim-5

    Bunun sebebi ise sınıf örneğinin bir kez oluşturulmuş olmasıdır. Bu sınıf örneğini nerede çağırırsanız çağırın verdiğiniz değer aynı kalacaktır. Normal şartlarda bir sınıf kurulurken new ifadesi ile sınıf içerisinde bulunan field değerleri de otomatik olarak kurulmakta ve varsayılan değer almaktadır. Ancak bu tasarım deseninde sınıfı içerde kurduğumuz için değerler aynı kalacaktır.

    Bu tasarım deseninin kullanıldığı bazı alanlara örnek verecek olursak loglama mekanizmalarında veya bazı servis çalışmalarında kullanılabilir.

    Tekrar görüşmek dileğiyle iyi çalışmalar

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

    Referanslar

    www.mshowto.org
    Emre Aydın
    MVP | Office 365 | Since 2006
    MCT | Since 2005
    MCSD | Azure Solutions Architect
    MCSE | Private Cloud, Messaging, Communication, Server Infrastructure, Productivity, Platform
    MCSA | Office 365, Server 2012, Cloud Platform
    MCTS | Developing Azure Solutions, Implementing Azure Infrastructure, Architecting Microsoft Azure Solutions, SAM
    P-Seller
    Intelligent Cloud | EMS
    Web : www.mshowto.org
    Mail : emre.aydin [@] mshowto.org
    Twitter : https://twitter.com/emreaydn
    Linkedin : tr.linkedin.com/in/emreaydn

  2. #2

    Standart

    Singleton tasarım deseni Creational Patterns yani Kurucu tasarım desenleri arasındadır. Bu guruptaki desenler bir veya birden fazla nesnenin oluşturulması veya yönetilmesi ile ilgili desenlerdir.
    Impossible Is Nothing

Benzer Konular

  1. Cevaplar: 0
    Son Mesaj: 07-26-2015, 01:45 PM
  2. OCS 2007 R2 Tasarım
    By volkan101 in forum Server2003
    Cevaplar: 1
    Son Mesaj: 09-07-2009, 11:20 AM
  3. Cevaplar: 9
    Son Mesaj: 02-03-2007, 11:46 AM

Yetkileriniz

  • Konu Açma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •  
Hakkımızda
MSHOWTO, herhangi bir firma ya da kuruluş ile bağı olmayan bağımsız teknik bir topluluktur.
Sosyal Medya Linklerimiz