Dette eksempel illustrerer, hvordan fabriksmetoden kan bruges til at oprette platforme-UI-elementer uden at koble klientkoden til konkrete UI-klasser.
Basisdialogklassen bruger forskellige UI-elementer til at gengive sit vindue. Under forskellige operativsystemer kan disse elementer se lidt anderledes ud, men de skal stadig opføre sig konsekvent. En knap i Windows er stadig en knap i Linux.
Når fabriksmetoden kommer i spil, behøver du ikke omskrive logikken i dialogen for hvert operativsystem. Hvis vi erklærer en fabriksmetode, der producerer knapper i basisdialogklassen, kan vi senere oprette en dialogunderklasse, der returnerer Windows-stilede knapper fra fabriksmetoden. Underklassen arver derefter det meste af dialogens kode fra basisklassen, men takket være fabriksmetoden kan den gengive Windows-udseende knapper på skærmen.
For at dette mønster skal fungere, skal basedialogklassen arbejde med abstrakte knapper: en basisklasse eller en grænseflade, som alle konkrete knapper følger. På denne måde forbliver dialogens kode funktionel, uanset hvilken type knapper den fungerer med.
Selvfølgelig kan du også anvende denne tilgang til andre UI-elementer. Men med hver nye fabriksmetode, du tilføjer til dialogen, kommer du tættere på det abstrakte fabriksmønster. Frygt ikke, vi taler om dette mønster senere.