Singleton (ainokainen) on ohjelmistotekniikassa käytetty suunnittelumalli, jolla varmistetaan että luokasta tehdyllä oliolla on vain yksi instanssi, ja tarjoaa globaalin (ohjelman laajuisen) pääsyn siihen. . Singleton-mallilla olevia etuja ovat muun muassa: hallittu pääsy tietoon (kapselointi) rajattu nimiavaruus ja näkyvyys (engl. scope) verrattuna globaaleihin muuttujiin. Mallin toteus riippuu käytetystä ohjelmointikielestä. Eräs C++:ssa käytetty tapa on toteuttaa Singleton-luokka template-mallin avulla.
https://fi.wikipedia.org/wiki/Singleton