Welcome to My Blog 👋

Java, Spring Framework, Microservices, Docker, Kubernetes, AWS and Others 🚀
Follow Me

Design Pattern - Singleton



  April 12, 2019    Labels:,,,,,,,, 

Bazı nesnelerin uygulama yaşam döngüsü içerisinde hep aynı şekilde aynı işi yapması gerekebilir. Bu durumlarda nesnenin birden fazla referansını yaratmak gereksizdir. Bu problemin çözümü Singleton Design Pattern'dır. Singleton ile nesnenin referansı bir kez yaratılır ve bu sınıfı kullanmak isteyen diğer sınıflar her zaman aynı nesneyi kullanırlar.

Uygulama
  • Singleton olacak sınıf içerisinde private static olarak sınıfın referansını tutan bir değişken tanımlanır.
  • Sınıfın yapıcı metodu private veya protected yapılır. Tercihen protected olmalıdır.
  • Yapıcı metot yerine nesneyi kullanacak sınıflara erişim için bir public metot yaratılır. Bu metotta private static olan nesnenin referansı döndürülür. Eğer uygulama içinde daha önce hiç yaratılmamışsa bu metot içerisinde kontrol edilerek yaratılır.

public class Singleton{

     private Singleton singleton;
     
     protected Singleton () {
         
     }
     
     public static Singleton createSingleton () {
         if(singleton == null) {
             singleton = new Singleton();
         }
         return singleton;
     }
}

No comments:

Post a Comment