Kaj je vzorec Singleton?

Matematični koncept singletona je nabor številk, ki vsebuje samo eno posamezno število. Programski inženirji in programerji so ta koncept prevedli v nekaj, kar se imenuje singleton vzorec, pri katerem različni programi dostopajo do določenega niza informacij samo enkrat in vedno vsebuje isti niz navodil ali informacij. Enotni vzorec se uporablja v programskih jezikih, kot je Java, za definiranje globalne spremenljivke, informacije, ki se uporablja v celotnem sistemu, ki ostane enaka in jo je treba definirati samo enkrat namesto večkrat.

V večini programskih jezikov, preden se program lahko zažene, zahteva dodatne informacije o svojem okolju. Večina informacij, specifičnih za program, je vsebovanih v lastni programski kodi; vendar program pogosto zahteva tudi spremenljive informacije o stvareh, kot so različica operacijskega sistema, v katerem se izvaja, strojna oprema, na kateri se izvaja, in druge specifične informacije, ki niso edinstvene za sam program. Običajno so te informacije vsebovane v nečem, kar se imenuje razred ali objekt, ki je neodvisen kos programske kode, ki je pogosto vsebovana v datoteki, ločeni od programa, tako da je lahko na voljo številnim različnim programom hkrati.

Če programski jezik ne uporablja vzorca singleton, vsak program, ki zahteva informacije v objektu, dostopa do njega tako, da objekt odpre z nizom parametrov, ki določajo, katere informacije v objektu program potrebuje. Zato vsakič, ko drug program odpre predmet, se v pomnilniku računalnika ustvari drugačen primerek predmeta. Vsak primerek predmeta lahko vsebuje različne informacije, odvisno od posebnih potreb vsakega programa, ki ga odpre.

Ko programski jezik, ki uporablja vzorec singletona, kot je Java, začne izvajati program, program najprej poišče objekte, iz katerih potrebuje informacije. Če objekt še ni odprt, ga odpre brez posebnih parametrov, s čimer so vse informacije v objektu na voljo vsem programom. Če je objekt že odprt, preprosto prebere informacije v objektu in nadaljuje. Na ta način so informacije, vsebovane v objektu, ki uporablja enojni vzorec, vedno enake, zato ni treba hkrati odpirati več različnih različic predmeta. To prihrani prostor v pomnilniku računalnika in lahko tudi poveča hitrost, saj lahko drugi programi dostopajo do informacij, ne da bi morali porabiti čas za ustvarjanje nove različice predmeta.