Vad är fabriksmönstret?
Vid datorprogrammering är en fabrik ett objekt som används för att skapa andra objekt. Objekt i detta fall avser värden, funktioner eller datastrukturer som används i kod. Fabriksmönstret är ett designmönster som förlitar sig på fabriker att göra objekt snarare än att skapa objekt direkt. Detta gör att koden lätt kan ändras och bibehålla flexibilitet. Det används ofta i objektorienterad datorprogrammering, som använder objekt för att bygga program och applikationer.
En fabrik har en metod för varje typ av objekt den kan skapa. En metod är i huvudsak ett mönster. Den består av en uppsättning instruktioner, känd som en subroutine, som tar in parametrar som vanligtvis tillhandahålls av användaren och matar ut ett specifikt objekt. Det mesta av detta sker bakom kulisserna utan att användaren eller klienten vet något om det.
När man använder fabriksmönstret interagerar programmet med ett gemensamt gränssnitt snarare än direkt att kommunicera med klasser. En klass används som en mall för att skapa objekt. Varje objekt i en viss klass delar samma beteende och grundläggande attribut. Klasser kan vidare delas in i underklasser, var och en som ärver några av attributen för den klass som den tillhör. Ett objekt av en viss klass är känt som ett exempel på den klassen.
Om användaren till exempel ville att programmet ska skapa en kvadrat i ett program eller operativsystem som använder fabriksmönstret skulle programmet meddela fabriken att användaren behövde ett objekt som hade fyra sidor med samma längd och fyra rätvinklar. Fabriken skulle meddela formmetoden att en form behövdes. Det kan komma att vidarebefordra vissa parametrar på torget, till exempel det område som användaren vill att torget ska täcka.
Underklassarna bestämmer vilken klass som ska användas. En instans av klasstorget skulle återlämnas till fabriken, som skulle vidarebefordra det till programmet som först begärde det. Användaren skulle bara se att information skickades till fabriken och returnerades av fabriken. De inre funktionerna i fabriken kan inte ses.
Fördelen med att använda ett fabriksmönster är att det gör att programmet enkelt kan ändras. Nya typer kan läggas till i fabriksmönstret genom att bara ändra en liten bit av klientkoden, vanligtvis inte mer än en rad. Andra programmeringsmönster kräver att programmeraren ändrar koden på varje plats där ett objekt skapas.