Singleton tasarım deseni, bir sınıfın sadece bir tekil nesnesinin oluşturulabileceğini ve bu nesnenin program boyunca tek bir kaynak olarak kullanılabileceğini garantilemek için kullanılan bir yapıdır. Bu tasarım deseni, sınıfın kendisini yalnızca bir kez oluşturmasını ve bu oluşturulan nesnenin her yerden erişilebilmesini sağlar. Singleton tasarımı özellikle veritabanı bağlantısı, log dosyası gibi tek bir kaynakla çalışması gereken sistemlerde kullanılır.
Singleton tasarım deseni, aşağıdaki adımları içerir:
Sınıfın kendisini statik bir nesne olarak tanımlama
Private bir yapılandırıcı tanımlama
Kendisini oluşturmak için bir statik metod tanımlama
Kendisi oluşturulduğunda, yapılandırıcıyı çağırmayan statik metodu kullanma.
Aşağıdaki kod parçacığı, bir singleton sınıfının nasıl yazılacağını gösterir:
class Singleton { private static instance: Singleton; private constructor() {} public static getInstance(): Singleton { if (!Singleton.instance) { Singleton.instance = new Singleton(); } return Singleton.instance; } }