" 
 : Sen on oltava ""järjestelmä"" laaja, jossa ""järjestelmä"" määritellään ohjelmoijan näkyväksi alueeksi. Tämä on yleensä siis ""ohjelman"" laajuus, mutta käyttöjärjestelmän tai JVM:n koodaaja saattaa nähdä koko konealustan (tai Java-alustan). 
 : Syynä on se, että Singletoneilla on toiminto, mutta ne eivät ole vain Singletoneja. Jos ohjelmoija kirjoittaa SingletonA:n, jolla on funktio A(), tätä ei voi korvata toisella SingletonB:llä, jolla on eri funktio B() - Singletoneilla on ""identiteetti"" sekä pelkkä Singletonin käyttäytyminen.  Tällä on kaksi seurausta:    
 :* Singletoneja voi olla monta kerrallaan - keskinäisen poissulkemisen tarkoituksena on tehdä SingletonA Singletoniksi (eli vain yksi SingletonA kerrallaan), mutta ei välittää siitä, onko SingletonB (myös Singleton, mutta eri Singleton) olemassa. 
 :* Toiseksi, jokin (jopa identtinen koodi SingletonA:lle) on Singleton vain toteutuksen piirissä (yleensä yksi ohjelma tai useampi kyseisen ohjelman instanssi).  Ei ole mitään järkeä olla Singleton, joka on jaettu sellaisten koodinpätkien välillä, jotka eivät ole ""tietoisia"" toisistaan, niin että ne voivat olla vuorovaikutuksessa määritellyllä tavalla. Singletonien ei tarvitse vain olla Singletoneja, vaan niiden on myös tehtävä jotain hyödyllistä! 
 :: Jos on olemassa koodikirjasto, joka toteuttaa SingletonA:n, on välttämätöntä, että ohjelmat, jotka joko (ja useimmiten) käyttävät sitä, hankkivat oman laajuutensa tälle Singletonille. Tämä voi olla saman yksisäikeisen ohjelman sisällä tai monimutkaisen monisäikeisen ohjelman sisällä. Singletonin jakaminen ohjelmien välillä on paljon harvinaisempaa (sitä ei vain tarvita niin usein) ja vaikeampaa toteuttaa. Jos käynnistetään kaksi kopiota samasta ohjelmasta, ne voivat joko jakaa tai sulkea pois Singletonit (jotka tarjoavat saman toiminnon) - riippuu sovelluksesta, kumpi on tarpeen. Molemmat ovat ""oikeita"" Singletoneja, mutta eri laajuisia.  
 : Singletoneilla on huono maine koodareiden keskuudessa. Niistä käydään paljon keskustelua, ja suurimmaksi osaksi siinä sanotaan: ""Älä käytä Singletoneja"". Käytännössä monet ongelmat johtuvat siitä, että alkuperäinen suunnittelija ei ole miettinyt, mikä on Singleton-tehtävän tarvittava laajuus, joten koodaaja on päättänyt toteuttaa vääränlaisen tehtävän.   "