Merhabalar,
Bugün en bilinen ve ihtiyaç duyulan 'Tasarım Desenleri'nden biri olan 
Singleton'u inceleyeceğiz/öğreneceğiz.
Öncelikle, 
Singleton için Türkçye'ye iyi bir karşılık arayışdaydım. Biraz Googling'ten sonra bu desene kendi çapımda '
Issız Nesne' olarak adlandırmayı uygun gördüm. Fark ettiğiniz üzere bu karşılık Çağan Irmak imzalı 'Issız Adam' filminden gelmekte. Belki de 
Singleton için daha fazla açıklamaya gerek kalmamıştır, bu benzetmeden sonra. ;P
Olay: Singleton 'Tasarım Deseni' ile hazırladığımız sınıftan sadece bir tane 'örnek' (
instance) oluşturmamızı, ve buna her yerden erişebilmemizi sağlar.
Neden: Tamamiyle OOP tabanlı bir proje üzerinde çalıştığınızı düşünün. Bu projeyi elbetteki bazı yönetici sınıflarınız da olacaktır. Örnek vermek gerekirse, uygulamanızda tek bir 
Database sınıfının varlığı kaçınılmazdır. İşte bu noktada bir uygulamada 
Database sınıfından kaç tane 'örnek'e (
instance) ihtiyacımız olacaktır? Cevap sırıtmakta, 
sadece bir!
PHP ile Singleton çalışması:
Loading ....
PHP5.4 ile birlikte "
traits" denen bir özellik eklendi. Bu 
traitler dediğimiz özellik, belirteceğimiz 
property (özellik) ve 
methodlarının (metot) 
traiti kullanacağımız sınafa göre şekillenmesi amacıyla eklendi. Aslında bu ayrı bir yazı konusu olurdu. Ancak basit anlamda anlatmak için yeterli cümleleri kurduğuma inanıyorum.
Şimdi yapacağımız şey ise 
traitleri kullanarak 
Singleton tasarım desenini tüm sınıflarımızda kullanabilmek. Bu sayede 
DRY (
Don't Repeat Yourself) ilkesini de gerçekleştirmiş olacağız. 
Kalıtım'ın (
Inheritance) da dibine vurduğumuz söylenebilir.
Loading ....
JavaScript ile Singleton çalışması:
Loading ....
Java ile Singleton çalışması:
Loading ....
Ruby ile Singleton çalışması:
Loading ....