Skapande mönster (Creational)
Skapande mönster löser samma grundfråga på fem olika sätt: hur skapar vi objekt utan att låsa fast koden vid exakt vilken klass som skapas?
Innan GoF — Simple Factory
Innan vi går in på de fem GoF-mönstren, ett besläktat men enklare knep som ofta förväxlas med dem: Simple Factory. Det är inte ett av de 23 GoF-mönstren, men det är den naturliga första stationen dit.
public static class DocumentFactory{ public static IDocument Create(string typ) => typ switch { "text" => new TextDocument(), "pdf" => new PdfDocument(), _ => throw new ArgumentException($"Okänd typ: {typ}") };}En enda statisk metod med en switch, som samlar allt new-skapande på ett ställe. Enkelt — men varje ny dokumenttyp kräver att du ändrar DocumentFactory själv. De fem mönstren nedan löser det på mer sofistikerade sätt.