Frage

Also habe ich auf eine Anwendung schreiben, habe vor, die weitgehend eine fensterlose Anwendung. Es werden Fenster für die Benutzerinteraktion, sondern nur auf Antrag des Benutzers. Ansonsten setzt sich die Anwendung in der Taskleiste und betreibt einen Zeitgeber, eine gewisse Logik jede Minute oder so ausführt. Meine Frage lautet: Soweit ich das beurteilen kann, würde ich alle damit verbundenen Logik in App.xaml.cs setzen (Start der Timer, die Ausführung der Logik in jedem Intervall), aber aus irgendeinem Grund scheint mir falsch

Die App wird ein System Tray-Icon hat die Benutzer interagieren können Details zu erhalten, passen Sie die Einstellungen, etc., aber sonst die App sitzt nur da und tut, was es tut. Ist es angemessen, den gesamten Code in dem Code-Behind für die App.xaml Klasse zu setzen? Ich weiß nicht, warum, aber es scheint, als ob ich soll nicht, und es sollte irgendwo anders sein, aber ich kann nichts wirklich denken.

Ich habe noch nie eine App, wie dies vor, daher meine Unwissenheit geschrieben. Jede Beratung wäre sehr dankbar. Danke.

James

War es hilfreich?

Lösung

Auch bei Anwendungen, bei denen den meisten Interaktion durch Fenster getan wird es in der Regel eine schlechte Idee hinter all den Code im Code zu setzen. Wechselwirkungen werden oft in dem Eventhandler Code hinter initiiert, aber Sie können Ihren Code in Klassen, die Sie selbst erstellen setzen.

Das gleiche gilt für Anwendungen, die die meiste Zeit keine Benutzeroberfläche anzeigen. Die meisten der Aktionen werden von den App.xaml.cs eingeleitet werden, aber das bedeutet nicht, den gesamten Code, dort zu leben hat. Sie können Timer in ihren eigenen Klassen kapseln, die anderen Code beginnen kann Arbeit zum Beispiel zu tun. Teilen Sie Ihren Code auf den Linien von Verantwortlichkeiten, eine Fensterklasse nicht UI stuff, Domain-Logik geht in andere Dateien usw., die Ihnen ermöglichen mehr wartbar Anwendungen zu erstellen.

Andere Tipps

Es klingt nicht wie der Code dort gehört, und höchstens nur einen Anruf den Timer zu starten. Was klingt wie eine perfekte Passform für Ihre Fragen, ist der MV-VM (Model - View - Ansichtsmodell) Muster. Wie Sie noteded, wird es auch ‚Gefühl‘ richtigere dann hinter Logik, um Ihren Code zu befestigen. MVVM Verwenden Sie können Ihre spärlichen UI in eine Ansicht trennen, und der Code kann separat im Modell und Ansichtsmodell vorhanden sein.

Ich würde empfehlen, die Toolkit hier verwenden, wie es enthält auch gute Übersicht Dokumente und eine Probe können Sie verdauen, wie Sie Ihre eigene Lösung erstellen. Laurent Bugnion auch ein MVVM Starter Toolkit veröffentlicht, die Sie beginnen nutzen könnten.

Auch hier gibt einige gute Sachen, die man tatsächlich begonnen zu bekommen auf die Einrichtung Ihre Kontrollen in der Taskleiste.

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