Vad är Singleton-mönstret?

Det matematiska konceptet för en singel är en taluppsättning som bara innehåller ett enda tal. Mjukvaruingenjörer och programmerare har översatt detta koncept till något som kallas ett singleton-mönster, där en specifik uppsättning information endast nås av olika program en gång och alltid innehåller samma uppsättning instruktioner eller information. Singleton-mönstret används i programmeringsspråk som Java för att definiera en global variabel, en informationsbit som används över ett helt system som förblir densamma och bara behöver definieras en gång istället för många gånger.

I de flesta programmeringsspråk, innan ett program kan köras, kräver det ytterligare information om dess miljö. Det mesta av informationen som är specifik för programmet finns i dess egen programkod; Men ett program kräver ofta också variabel information om saker som versionen av operativsystemet där det körs, hårdvaran det körs på och annan specifik information som inte är unik för själva programmet. Vanligtvis finns denna information i något som kallas en klass eller objekt, vilket är en oberoende del av programmeringskod som ofta finns i en fil som är separat från programmet så att den kan vara tillgänglig för många olika program samtidigt.

Om ett programmeringsspråk inte använder singleton-mönstret kommer varje program som kräver information som finns i ett objekt åt det genom att öppna objektet med en uppsättning parametrar som anger vilken information i objektet som programmet behöver. Varje gång ett annat program öppnar objektet skapas därför en annan instans av objektet i datorns minne. Varje instans av objektet kan innehålla olika information, beroende på de specifika behoven för varje program som öppnar det.

När ett programmeringsspråk som använder singleton-mönstret, som Java, börjar köra ett program, söker programmet först efter de objekt som det behöver information från. Om ett objekt inte redan är öppet, öppnar det objektet utan några specifika parametrar, vilket gör all information som finns i objektet tillgänglig för alla program. Om objektet redan är öppet läser det helt enkelt informationen i objektet och fortsätter. På detta sätt är informationen som finns i ett objekt som använder ett singletonmönster alltid densamma, så det finns inget behov av att öppna många olika versioner av objektet samtidigt. Detta sparar utrymme i datorns minne och kan även öka hastigheten eftersom andra program kan komma åt informationen utan att behöva lägga tid på att skapa en ny version av objektet.