Hvad er Singleton-mønsteret?

Det matematiske koncept for en singleton er et talesæt, der kun indeholder et enkelt tal. Softwareingeniører og programmører har oversat dette koncept til noget, der kaldes et singleton-mønster, hvor et specifikt sæt information kun fås adgang til forskellige programmer én gang og altid indeholder det samme sæt instruktioner eller information. Singleton-mønsteret bruges i 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 kræver det, før et program kører, yderligere oplysninger om dets miljø. De fleste af oplysningerne, der er specifikke for programmet, findes i dens egen programkode; et program kræver dog ofte også variabel information om ting, såsom den version af det operativsystem, det kører i, den hardware, det køres på, og anden specifik information, der ikke er unik for selve programmet. Normalt er denne information 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å den kan være tilgængelig for mange forskellige programmer samtidig.

Hvis et programmeringssprog ikke bruger singleton-mønsteret, får hvert program, der kræver information indeholdt i et objekt, adgang til det ved at åbne objektet med et sæt parametre, der specificerer hvilken information i det objekt, programmet har brug for. Derfor oprettes en anden forekomst af objektet i computerens hukommelse hver gang et andet program åbner objektet. 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, søger programmet først efter de objekter, som det har brug for information fra. Hvis et objekt ikke allerede er åbent, åbner det objektet uden specifikke parametre, hvilket gør al informationen i objektet tilgængelig for alle programmer. Hvis objektet allerede er åbent, læser det blot oplysningerne i objektet og fortsætter. På denne måde er informationen indeholdt i et objekt ved hjælp af et singletonmønster altid den samme, så der er ikke behov for at åbne mange forskellige versioner af objektet samtidigt. Dette sparer plads i computerens hukommelse og kan også øge hastigheden, fordi andre programmer kan få adgang til informationen uden at skulle bruge tid på at oprette en ny version af objektet.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?