Detta exempel illustrerar hur fabriksmetoden kan användas för att skapa gränssnittsgränssnittselement utan att koppla klientkoden till konkreta UI-klasser.
Basdialogklassen använder olika UI-element för att återge sitt fönster. Under olika operativsystem kan dessa element se lite annorlunda ut, men de bör fortfarande fungera konsekvent. En knapp i Windows är fortfarande en knapp i Linux.
När fabriksmetoden spelas in behöver du inte skriva om logiken i dialogrutan för varje operativsystem. Om vi förklarar en fabriksmetod som producerar knappar i basdialogklassen kan vi senare skapa en dialogunderklass som returnerar Windows-formade knappar från fabriksmetoden. Underklassen ärver sedan det mesta av dialogkoden från basklassen, men kan tack vare fabriksmetoden återge Windows-utseende-knappar på skärmen.
För att detta mönster ska fungera måste basdialogklassen arbeta med abstrakta knappar: en basklass eller ett gränssnitt som alla konkreta knappar följer. På det här sättet förblir dialogens kod funktionell, oavsett vilken typ av knappar den fungerar med.
Naturligtvis kan du också använda detta tillvägagångssätt på andra UI-element. Men med varje ny fabriksmetod som du lägger till i dialogrutan kommer du närmare Abstract Factory-mönstret. Var inte rädd, vi pratar om detta mönster senare.