Hva er fabrikkmønsteret?
I datamaskinprogrammering er en fabrikk et objekt som brukes til å lage andre objekter. Objekter i dette tilfellet refererer til verdier, funksjoner eller datastrukturer som brukes i kode. Fabrikkmønsteret er et designmønster som er avhengig av at fabrikker lager objekter i stedet for å lage objektene direkte. Dette gjør at koden enkelt kan endres og for å opprettholde fleksibilitet. Det er mye brukt i objektorientert dataprogrammering, som bruker objekter for å bygge programmer og applikasjoner.
En fabrikk har en metode for hver type objekt den kan lage. En metode er egentlig et mønster. Den består av et sett med instruksjoner, kjent som en subroutine, som tar inn parametere som vanligvis leveres av brukeren og gir ut et bestemt objekt. Det meste av dette skjer bak kulissene uten at brukeren eller klienten vet noe om det.
Når du bruker fabrikkmønsteret, samhandler programmet med et felles grensesnitt i stedet for direkte å kommunisere med klasser. En klasse brukes som mal for å lage objekter. Hvert objekt i en bestemt klasse deler samme oppførsel og grunnleggende attributter. Klassene kan videre deles inn i underklasser, som hver arver noen av attributtene til klassen den tilhører. Et objekt av en bestemt klasse er kjent som et eksempel på den klassen.
Hvis for eksempel brukeren ønsket at programmet skulle opprette et kvadrat i et program eller operativsystem som bruker fabrikkmønsteret, ville programmet varsle fabrikken om at brukeren trengte et objekt som hadde fire sider med samme lengde og fire rette vinkler. Fabrikken ville varsle formmetoden om at en form var nødvendig. Det kan passere noen parametere på torget, for eksempel området brukeren ønsker at kvadratet skal dekke.
Underklasser bestemmer hvilken klasse som skal brukes. En forekomst av klassetorget vil bli returnert til fabrikken, som ville gi den videre til programmet som først ba om det. Brukeren ville bare se at informasjon ble sendt til fabrikken og returnert av fabrikken. De indre funksjonene til fabrikken kan ikke sees.
Fordelen med å bruke et fabrikkmønster er at det gjør det enkelt å endre programmet. Nye typer kan legges til fabrikkmønsteret ganske enkelt ved å endre et lite stykke av klientkoden, vanligvis ikke mer enn en linje. Andre programmeringsmønstre krever at programmereren endrer koden på alle steder der et objekt opprettes.