şükela:  tümü | bugün
  • ayrıca briçte pik, kör, karo ya da trefli serilerinden herhangi birinden elinizde bir tane varsa o seriye singleton denir. king, batak gibi oyunlardaki amiyane tabiri "tek parça"dır. örneğin eldeki tek karo dokuzlu eli singleton yapar, avantajlıdır, singleton koz değilse bir tur sonra koz çakabileceğiniz manasına gelir.. (bkz: dubleton), (bkz: şikan)
  • tek elemanlı küme anlamına da gelir bu kelime
  • fransizca bir kelimedir, "senglöton" diye okunur... kümeler dersi varken önemli bişeymişçesine ögrendiğimi hatirlarim...
  • ornek bi singleton class yazmak gerekirse
    class classname
    {
    private classname _this ;
    private classname{
    //private constructor
    }
    public static classname getinstance() {
    if (_this == null)
    _this = new classname();

    return _this;
    }
    }

    kullanimi da soyledir,
    classname cn = classname.getinstance();

    bu durumda o classin sadece bir instance i kol gezer devri alemde
  • sanirim ilk olarak gof (gang of four) diye adlandirlan bir dörtlü ekip tarafindan "design patterns" kitabinda yayinlanmistir.
    bir de thread-safe versiyonu vardir:

    pubic class singleton{
    private final static theinstance = new singleton();
    private singleton() {
    }
    public static singleton getinstance() {
    return theinstance;
    }
    }

    yada:

    class singleton{
    private final static theinstance;
    private singleton() {
    }
    public synchronized static singleton getinstance() {
    if (theinstance == null) {
    theinstance = new singleton();
    }
    return theinstance;
    }
    }
  • .net remoting'de bir server activation çeşididir. o sunucuya yapılan tüm isteklerde* tek bir nesne üzerinden hizmet verilir. nesne ilk istek geldiğinde yaratılır ve bir daha da silinmez.
  • 1) constructor(lar) protected olarak deklare edilir.
    2) yaratildiginda classin single instanceina reference olacak, static bir 'self' pointeri deklare edilir.
    3) 'self' pointeri null iken classin bir instanceini donduren, null degilken de onceden yaratilmi$ instanceini donduren bir static 'getinstance()' functioni olu$turulur.

    afiyet olsun.
  • eric gamma'nın design pattern kitabında yer alan bir creational pattern'dır.
    aynı sınıfın sadece tek bir instance'ının kullanılması gereken durumlarda ilaç gibidir.
  • c++'da kullanmak için şöyle bir şablon sınıf oluşturulursa;

    template<typename of> class singleton
    {
    public:
    of* operator ->()
    {return hede();}

    of& operator *()
    {return *hede();}

    private:
    of* hede()
    {static of _encaps;return &_encaps;} //sadece ilk kullanımda initialize edilmesi için.
    };

    işlerin çok kolaylaşacağı dizayn aracı.