Yükleniyor...
KustaSoft, geleceğin teknolojilerini üreterek kurumların dijital dönüşüm süreçlerinde güvenilir ve öncü ortağı olmayı amaçlar.
© 2026 KustaSoft. Tüm hakları saklıdır.
3 dk okuma

Singleton, bir sınıfın sadece bir tek örneğine izin verilmesini ve bu örneğe uygulamanın tümüne için bir global erişim noktası sağlamayı amaçlayan yazılım mühendisliği içinde bir tasarım desenidir. Bu, bir programın çalışması boyunca sadece bir sınıfın tek bir örneğinin kontrol etme ihtiyacı olan durumlarda kullanışlıdır, örneğin birden fazla nesnenin paylaştığı tek bir veritabanı bağlantısı, günlükleme veya önbellekleme. Singleton sınıfı, bir sınıfın yalnızca bir tek örneğinin oluştuğunu garantiler, özel bir constructor tanımlayarak ve gerektiğinde oluşturacak tek örnek sınıfı döndüren statik bir instance değişken tanımlayarak.
Başlamadan önce, seride her makalede birçok UML sınıf diyagramı bulacaksınızı belirtmeliyim. Sınıf diyagramlarının ve notasyonlarının tanıdık değilse, bu referansı okumanızı şiddetle öneririm. Sınıf diyagramı ve temel yapı Singleton’ın uygulamasına genel bir yaklaşım aşağıdaki sınıf diyagramında gösterilir:

Sınıf Diyagramı – Singleton Singleton sınıfı, sınıf örneğinin kendisi için bir referans olan statik özellik instance’ı içerir (bu ilişki sınıf Singleton’dan kendine olan bir ilişki olarak temsil edilir); Bu örnek yalnızca statik yöntem getInstance () aracılığıyla erişilebilir; Sınıf yapıcısı, sınıf dışından sınıfın instantiate edilememesini sağlamak için özel olarak işaretlenmiştir (diğer uygulamalarda korunmuş olabilir).
Uygulanabilirlik
Singleton tasarım deseni, sınıfın sadece bir örneğinin yürütmenin tümünde eylemi kontrol etmek için gerekli olduğu durumlarda uygulanır. Singleton deseninin kullanıldığı bazı senaryolar şunlardır:
Bu, Singleton deseninin kullanıldığı bazı örneklerdir. Kısaca, Singleton deseni, sınıfın tüm çalışma süresince sadece bir örneğinin olması gerektiği durumlarda kullanılması gerekir.
Singleton tasarım deseninin uygulaması basit ve açık. Dart ve Flutter’da uygulamanın adımları şunlardır:
Dart’da Singleton tasarım deseninin uygulaması için bir örnek aşağıdaki gibidir:
class Singleton {
static final Singleton _instance = Singleton._privateConstructor();
static Singleton get instance => _instance;
Singleton._privateConstructor();
}
Bu örnekte, Singleton adlı bir sınıf tanımlıyor ve diğer sınıfların onu oluşturmasını önleyen bir özel yapıcı oluşturuyoruz. Ayrıca, sınıfın tek bir örneğini tutacak statik bir instance özelliği ve sınıfın örneğini döndüren statik bir getInstance() metodu oluşturuyoruz.