Örnek

Bir Singleton Örneği

Aşağıda Singleton tasarımını kullanan bir örnek görülmektedir : 

public class Test { 

    private static Test instance=null; 
    private Test() {} 
    public static Test getInstance(){ 
        if(instance==null){             
            synchronized (Test.class) { 
                if(instance==null){ 
                    instance=new Test(); 
                } 
            } 
        } 
        return instance; 
    } 
}

getInstance metodu synchronized yapılarak thread-safe olması sağlanabilir. Ancak bu performansı düşürecektir. Bir altarnatif yöntem yukarıdaki gibi yapmaktır.  instance'ın null olup olmadığı anlaşılana kadar synchronized  yapılmamaktadır. instance'ın  null olduğu anlaşılınca sınıf synchronized  haline getirilmekte ve Test nesnesinin yaratılması beklenmektedir. synchronized  blok içinde de bir null kontrolü koyulmuştur. Bu şekilde ikinci bir nesnenin yaratılması engellenmiştir

 

zafer.teker , 27.09.2014

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir