Frage

Ich suche nach Mustern, die das Codieren von Teilen einer GUI betreffen. Nicht so global wie MVC, mit denen ich ziemlich vertraut bin, aber Muster und gute Ideen und Best Practices für einzelne Steuerelemente und Eingaben.

Angenommen, ich möchte ein Steuerelement erstellen, das einige Objekte anzeigt, die sich möglicherweise überlappen.Wenn ich nun auf ein Objekt klicke, muss ich herausfinden, was zu tun ist (nur das Finden des Objekts kann ich auf verschiedene Weise tun, z. B. als Quad-Tree und Z-Reihenfolge, das ist nicht das Problem).Außerdem kann es sein, dass ich eine Sondertaste gedrückt halte oder ein Objekt von Anfang an aktiv ist, was die Auswahl oder was auch immer etwas komplizierter macht.Sollte ich eine Objektinstanz haben, die ein Bildschirmobjekt darstellt, die Benutzeraktion beim Klicken verarbeitet, oder eine Masterklasse.usw..Welche Muster oder Lösungen gibt es für solche Probleme?

War es hilfreich?

Lösung

Ich denke, um ehrlich zu sein, dass es besser ist, wenn Sie einfach Ihre Standardentwurfsmuster ausbauen und sie auf die individuellen Probleme anwenden, mit denen Sie bei der Entwicklung Ihrer Benutzeroberfläche konfrontiert sind.

Obwohl es allgemeine „Themen“ der Benutzeroberfläche gibt (z. B. den Umgang mit Zusatztasten), kann die tatsächliche Implementierung stark variieren.

Ich habe O'Reilly's Designmuster von Kopf bis Fuß Und Das Poster, was ich von unschätzbarem Wert fand!

Schamloser Stecker:Für diese Links wird die ID meines Partners verwendet.

Andere Tipps

Object-Oriented Design and Patterns von Cay Horstmann hat ein Kapitel mit dem Titel „Patterns and GUI Programming“.In diesem Kapitel berührt Horstmann die folgenden Muster:

  • Observer Layout Manager und die
  • Komponenten des Strategiemusters,
  • Container und das zusammengesetzte Muster
  • Bildlaufleisten und das Decorator-Muster

Ich glaube nicht, dass der Nutzen von Entwurfsmustern darin liegt, dass man versucht, ein Entwurfsmuster zu finden, das zu einem Problem passt.Sie können jedoch einige Heuristiken verwenden, um Ihr Design in dieser Hinsicht deutlich zu bereinigen, z. B. indem Sie die Benutzeroberfläche so weit wie möglich von den übrigen Objekten in Ihrem System entkoppeln.

Es gibt ein Muster, das in diesem Fall hilfreich sein könnte, das Beobachtermuster.

Ich weiß, dass Sie gesagt haben, dass es nicht so global ist wie MVC, aber es gibt einige Variationen von MVC – insbesondere HMVC und PAC – die meiner Meinung nach Fragen wie die, die Sie stellen, beantworten können.

Versuchen Sie ansonsten, neuen Code „im Geiste“ bestehender Muster zu schreiben, auch wenn Sie diese nicht direkt anwenden.

Vielleicht suchen Sie nach so etwas wie der „Mausefalle“, die ich in einigen Artikeln zu Codeproject gesehen habe (Suche nach UI Platform)?

Ich fand diese Serie auch sehr nützlich http://codebetter.com/jeremymiller/2007/07/26/the-build-your-own-cab-series-table-of-contents/ wo Sie einen Blick auf eingebettete Controller usw. werfen können.

Micha.

Sie suchen nach einer professionellen Anwendungsprogrammierung.Ich habe lange erfolglos nach Tipps und Tricks gesucht.Leider werden Sie nichts Nützliches finden, es ist ein kompliziertes Thema und nur mit langjähriger Erfahrung können Sie verstehen, wie man eine Bewerbung effizient schreibt.Zum Beispiel öffnet fast jedes Programm eine Datei, extrahiert Informationen, zeigt sie in verschiedenen Formen an, ermöglicht die Verarbeitung, das Speichern, ...aber niemand erklärt genau, was die gute Strategie ist und so weiter.Wenn Sie eine große Anwendung schreiben, müssen Sie außerdem einige Strategien prüfen, um die Kompilierungszeit zu verkürzen (andernfalls müssen Sie bei jeder Kompilierung stundenlang warten).Impls-Redewendungen in C++ helfen Ihnen zum Beispiel.Und dann gibt es noch viel mehr.Aus diesem Grund werden Softwareentwickler gut bezahlt und es gibt so viele Jobs :-)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top