Skins sind nur noch eine weitere Ebene der Abstraktion (YALOA!).
Wenn Sie auf der MVC design pattern nachlesen dann werden Sie viele der Grundsätze erforderlich verstehen.
Die Präsentationsschicht (oder die Haut) nur ein paar Dinge zu tun hat:
- die Schnittstelle anzeigen
- Wenn bestimmte Maßnahmen ergriffen werden (Klick, die Eingabe von Text in einer Box, etc), dann löst es Aktionen
- es hat Hinweise aus dem Modell und Controller zu empfangen, wenn es
In einem normalen Programm ändern muss diese Abstraktion, indem Code ausgeführt wird, die die Textfelder einer Verbindung zu die Methoden und Objekte, auf die sie bezogen sind, und Code, der die Anzeige basierend auf den Programmbefehlen ändert.
Wenn Sie hinzufügen möchten Enthäuten Sie diese Fähigkeit zu nehmen und machen es so, dass wieder ohne Kompilieren des Codes erfolgen.
Schauen Sie sich zum Beispiel XUL an und sehen Sie, wie es dort gemacht wird. Sie werden feststellen, dass viele Skinning-Projekte XML verwenden, um die verschiedenen "Gesichter" der Skin zu beschreiben (es spielt Musik oder organisiert die Bibliothek für eine MP3-Player-Skin) und dann wo sich jedes Steuerelement befindet und welche Daten und Methoden es hat sollte im Programm angehängt werden.
Es kann hart scheinen, bis Sie es tun, dann erkennen Sie, es ist wie jede andere Abstraktionsebene, die Sie schon einmal behandelt haben (aus einem Programm mit gotos, Strukturen, Funktionen, Strukturen, Klassen und Objekte, JIT-Compiler usw.).
Die anfängliche Lernkurve ist nicht trivial, aber ein paar Projekte tun, und Sie werden es ist nicht schwer zu finden.
-Adam
Kurz gesagt:) / – xan