Mikä on Singleton -malli?

Singletonin matemaattinen käsite on numerojoukko, joka sisältää vain yhden numeron. Ohjelmistosuunnittelijat ja ohjelmoijat ovat kääntäneet tämän käsitteen yksittäiseksi kuvioksi, jossa eri ohjelmat pääsevät tiettyyn tietojoukkoon vain kerran ja sisältävät aina samat ohjeet tai tiedot. Yksittäistä mallia käytetään ohjelmointikielissä, kuten Java, määrittämään globaali muuttuja, tieto, jota käytetään koko järjestelmässä ja joka pysyy samana ja joka on määritettävä vain kerran usean kerran sijaan.

Useimmissa ohjelmointikielissä ohjelma tarvitsee ennen käynnistystä lisätietoa ympäristöstään. Suurin osa ohjelmaa koskevista tiedoista sisältyy sen omaan ohjelmakoodiin; Ohjelma vaatii kuitenkin usein myös vaihtelevaa tietoa esimerkiksi käyttöjärjestelmän versiosta, jossa se on käynnissä, laitteistosta, jolla se suoritetaan, ja muista erityisistä tiedoista, jotka eivät ole ainutlaatuisia vain ohjelmalle. Yleensä nämä tiedot sisältyvät johonkin luokkaan tai objektiin, joka on itsenäinen ohjelmointikoodin osa, joka sisältyy usein ohjelmasta erilliseen tiedostoon, jotta se voi olla useiden eri ohjelmien käytettävissä samanaikaisesti.

Jos ohjelmointikieli ei käytä yksittäistä mallia, jokainen ohjelma, joka vaatii objektin sisältämiä tietoja, pääsee siihen avaamalla objektin parametrisarjalla, joka määrittää, mitä tietoja objektissa ohjelma tarvitsee. Siksi aina, kun eri ohjelma avaa objektin, tietokoneen muistiin luodaan eri esine. Jokainen objektin esiintymä voi sisältää erilaisia ​​tietoja kunkin sen avaavan ohjelman erityistarpeista riippuen.

Kun ohjelmointikieli, joka käyttää yksittäistä mallia, kuten Java, aloittaa ohjelman suorittamisen, ohjelma etsii ensin objektit, joista se tarvitsee tietoja. Jos kohde ei ole vielä auki, se avaa objektin ilman erityisiä parametreja, jolloin kaikki objektin sisältämät tiedot ovat kaikkien ohjelmien käytettävissä. Jos kohde on jo auki, se lukee objektin tiedot ja jatkaa. Tällä tavoin yksittäistä mallia käyttävän objektin sisältämät tiedot ovat aina samat, joten objektin monia eri versioita ei tarvitse avata samanaikaisesti. Tämä säästää tilaa tietokoneen muistissa ja voi myös lisätä nopeutta, koska muut ohjelmat voivat käyttää tietoja tarvitsematta käyttää aikaa uuden version luomiseen objektista.