Singleton Nedir – Java

Bu tasarım deseninde bir sınıfın sadece bir tane nesnesin(instance) olması amaçlanmıştır. Projemizde Sadece bir(Singleton) instance olmalı başka bir instance yaratılmamasına izin vermemelidir.

Bir Objeyi nasıl Singleton yaparız;

Bunun için bilmemiz gereken 3 adım vardır;
1.) İlk olarak Sınıfımızın Constructor(yapılandırıcısı) “private” olmalıdır. Bu şekilde diğer sınıflardan bu sınıfın bir nesnesinin üretilmesini engellemiş olduk.

2.) Diğer tüm sınıflar new ClassName() diyerek yeni bir nesne oluşturamayacağına göre, bu sınıfta kendi nesnemizi yaratmamız gerecektir. Bu yarattığımız instance da private ve static olmalıdır.

“object” ile referans verdiğimiz nesne, nesne değişkeni değil, sınıf değişkeni, yani “static” olmalıdır.“ Bir sınıfın sadece bir tane nesnesinin olduğundan emin ol ” kısmını karşılamaktadır.

3.) Son olarak yarattığımız bu singleton objeyi diğer tüm sınıflara servis etmek kaldı. Bunuda public bir method ile yapıyoruz.Bu methodumuzun tek görevi yarattığımız singleton objeyi dönmek. Bu method da static olacaktır.

public class Singleton {

private Singleton() {
System.out.println("Creating a singleton object");
}

private static Singleton object = new Singleton();

public static Singleton getInstance(){
return object;
}

Son olarak Spring de Bean lerin defalt scope u Singleton dır.

1 thought on “Singleton Nedir – Java

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.