Vad är fabriksmönstret?

I datorprogrammering är en fabrik ett objekt som används för att skapa andra objekt. Objekt i det här fallet hänvisar till värden, funktioner eller datastrukturer som används i kod. Fabriksmönstret är ett designmönster som förlitar sig på att fabriker tillverkar objekt istället för att skapa objekten direkt. Detta gör att koden enkelt kan ändras och bibehålla flexibiliteten. 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 föremål den kan skapa. En metod är i grunden ett mönster. Den består av en uppsättning instruktioner, känd som en subrutin, 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 du använder fabriksmönstret interagerar programmet med ett gemensamt gränssnitt snarare än att direkt 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 ytterligare delas in i underklasser, som var och en ärver några av attributen för den klass som den tillhör. Ett objekt av en viss klass är känt som en instans av den klassen.

Om användaren till exempel ville att programmet skulle 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 lika långa sidor och fyra räta vinklar. Fabriken skulle meddela formmetoden att en form behövdes. Den kan vidarebefordra vissa parametrar för torget, till exempel det område som användaren vill att torget ska täcka.

Underklasser skulle bestämma vilken klass som ska användas. En instans av klasstorget skulle returneras till fabriken, som skulle skicka den vidare till programmet som först begärde det. Användaren skulle bara se att informationen skickades till fabriken och returnerades av fabriken. Fabrikens inre funktion 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 helt enkelt genom att modifiera 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.