Skip to main content

Hvad er singleton -mønsteret?

Det matematiske koncept om en singleton er et talesæt, der kun indeholder et enkelt nummer.Softwareingeniører og programmerere har oversat dette koncept til noget, der kaldes et singleton -mønster, hvor et specifikt sæt information kun fås adgang til af forskellige programmer, der kun er én gang og altid indeholder det samme sæt instruktioner eller information.Singleton -mønsteret bruges til programmeringssprog som Java til at definere en global variabel, et stykke information, der bruges på tværs af et helt system, der forbliver det samme og kun skal defineres en gang i stedet for mange gange.

I de fleste programmeringssprog, førEt program kan køre, det kræver yderligere oplysninger om dets miljø.De fleste af de oplysninger, der er specifikke for programmet, er indeholdt i dets egen programkode;Imidlertid kræver et program ofte også variabel information om ting som den version af det operativsystem, hvor det kører, den hardware, det køres på, og andre specifikke oplysninger, der ikke er unikke for selve programmet.Normalt er disse oplysninger indeholdt i noget, der kaldes en klasse eller objekt, som er et uafhængigt stykke programmeringskode, der ofte findes i en fil, der er adskilt fra programmet, så det kan være tilgængeligt for mange forskellige programmer samtidigt.

Hvis et programmeringssprog ikke gør detBrug singleton -mønsteret, hvert program, der kræver information indeholdt i et objekt, får adgang til det ved at åbne objektet med et sæt parametre, der specificerer, hvilke oplysninger i objektet programmet har brug for.Derfor, hver gang et andet program åbner objektet, oprettes et andet eksempel på objektet i computerens hukommelse.Hver forekomst af objektet kan indeholde forskellige oplysninger, afhængigt af de specifikke behov for hvert program, der åbner det.

Når et programmeringssprog, der bruger Singleton -mønsteret, såsom Java, begynder at køre et program, programmet først søger efter objekternehvorfra det har brug for information.Hvis et objekt ikke allerede er åbent, åbner det objektet uden specifikke parametre, hvilket gør alle de oplysninger, der er indeholdt i objektet, der er tilgængelige for alle programmer.Hvis objektet allerede er åbent, læser det simpelthen oplysningerne i objektet og fortsætter.På denne måde er oplysningerne indeholdt i et objekt ved hjælp af et singleton -mønster altid det samme, så der er ingen grund til at åbne mange forskellige versioner af objektet samtidigt.Dette sparer plads i computerehukommelsen og kan også øge hastigheden, fordi andre programmer kan få adgang til oplysningerne uden at skulle bruge tid på at oprette en ny version af objektet.