Tasarım Kalıpları: Yegâne (Singleton)
Nedir?
Yegâne tasarım kalıbı, diğer kalıplara göre en basit oluşturuluşsal tasarım kalıplarından birisidir.
Ayrıca nesne oluşturmak için en iyi yollardan biri olarak değerlendirilebilir.
Bu tasarım, bir sınıfınızdan sisteminiz dahilinde sadece tek bir nesneye ihtiyaç duyduğunuzda yardımcı olacaktır. Yani, ilgili sınıftan doğrudan örnek oluşturmaksızın, sadece bir nesne oluşturulmasına ve onun oluşturulmuş tek nesnesine erişime olanak sağlar.
Uygulama
Uygulama olarak döndüreceği nesneye, nesneyi döndürecek fonksiyona ve ek olarak basit bir fonksiyona sahip
bir sınıf oluşturacağız.
Daha sonrasında bu sınıfa bir dinamik olarak değiştireceğimiz mesaj ve o mesajı yazdıran bir fonksiyon ekleyeceğiz.
Örneğimiz olarak işleyeceğimiz yegane sınıfın sınıf diyagramı aşağıdaki şekildedir;
1 | public class Yegane { |
Sınıfımızın en basit uygulaması için iki nesne oluşturup örnek fonksiyonlarımızı çağırıyoruz;
1 | public class TasarimDesenleri |
Böylece temel anlamda Yegâne tasarım kalıbını uygulamış olduk.
Fakat örnek fonksiyonumuz tasarım kalıbının işlediğini anlamamız için yeterli değil.
O yüzden sınıfımızı ve main fonksiyonumuzu aşağıdaki şekilde değiştirelim;
1 | public class Yegane { |
1 | public class TasarimDesenleri |
Normal şartlarda yukarıdaki kod bloğunun çıktısının
1 | Mesaj 1 |
gibi olması beklenebilir fakat kullandığımız tasarım kalıbı dolayısıyla çıktımız;
1 | Mesaj 1 |
şeklinde olacaktır. Diğer bir deyişle sistemimizde sadece bir benzersiz Yegane nesnesi oluşacaktır.