Dieses Beispiel zeigt, wie die Factory-Methode zum Erstellen plattformübergreifender UI-Elemente verwendet werden kann, ohne den Client-Code an konkrete UI-Klassen zu koppeln. P. >
Die Basisdialogklasse verwendet verschiedene UI-Elemente, um ihr Fenster zu rendern. Unter verschiedenen Betriebssystemen sehen diese Elemente möglicherweise etwas anders aus, sollten sich jedoch konsistent verhalten. Eine Schaltfläche in Windows ist unter Linux immer noch eine Schaltfläche.
Wenn die Factory-Methode zum Einsatz kommt, müssen Sie die Logik des Dialogfelds nicht für jedes Betriebssystem neu schreiben. Wenn wir eine Factory-Methode deklarieren, die Schaltflächen innerhalb der Basisdialogklasse erzeugt, können wir später eine Dialogunterklasse erstellen, die Schaltflächen im Windows-Stil von der Factory-Methode zurückgibt. Die Unterklasse erbt dann den größten Teil des Dialogcodes von der Basisklasse, kann jedoch dank der Factory-Methode Windows-aussehende Schaltflächen auf dem Bildschirm rendern.
Damit dieses Muster funktioniert, muss die Basisdialogklasse Arbeiten mit abstrakten Schaltflächen: Eine Basisklasse oder eine Schnittstelle, der alle konkreten Schaltflächen folgen. Auf diese Weise bleibt der Code des Dialogfelds funktionsfähig, unabhängig davon, mit welcher Art von Schaltflächen er arbeitet.
Natürlich können Sie diesen Ansatz auch auf andere Benutzeroberflächenelemente anwenden. Mit jeder neuen Factory-Methode, die Sie dem Dialogfeld hinzufügen, nähern Sie sich jedoch dem Abstract Factory-Muster. Fürchte dich nicht, wir werden später über dieses Muster sprechen.