myCSharp.de - DIE C# und .NET Community (https://www.mycsharp.de/wbb2/index.php)
- Entwicklung (https://www.mycsharp.de/wbb2/board.php?boardid=3)
-- GUI: WPF und XAML (https://www.mycsharp.de/wbb2/board.php?boardid=85)
--- "Sauberes" Design einer WPF-Anwendung (https://www.mycsharp.de/wbb2/thread.php?threadid=121807)


Geschrieben von CrocodileDundee am 23.04.2019 um 14:40:
  "Sauberes" Design einer WPF-Anwendung
Hallo zusammen,
möchte jetzt endlich ernsthaft den Umstieg von Forms auf WPF wagen
und dabei mir gleich einen sauberen Aufbau der Anwendung angewöhnen.

Grundsätzlich besteht eine neue WPF-Anwendung aus den Dateien

- App.xaml
- App.xaml.cs
- MainWindow.xaml
- MainWindow.xaml.cs

OK, grundsätzlich "falsch" wäre es ja nicht, in jede dieser Dateien Code zu schreiben, aber gibt es Dateien, die "man" eher nicht zum coden verwendet
um z.B. eine saubere Trennung zwischen Code und GUI zu erreichen?

Besser gesagt, ich suche nach "Best Practices", wie man ein sauberes Design einer WPF erstellt.

Vielen Dank und viele Grüße
Frank


Geschrieben von Coffeebean am 23.04.2019 um 14:45:
 
Hallo CrocodileDundee,

wenn du mit WPF anfängst, dann schau dir gleich  [Artikel] MVVM und DataBinding an.

Dadurch erreichst du die Trennung, die du angesprochen hast.

Gruss

Coffeebean


Geschrieben von Th69 am 23.04.2019 um 14:46:
 
Bei WPF solltest du MVVM einsetzen:  [Artikel] MVVM und DataBinding, d.h. anstatt Code in die Backend-Dateien zu schreiben, benutzt du ViewModel-Klassen in eigenen Dateien.


Geschrieben von Abt am 23.04.2019 um 14:56:
 
WPF betrifft bei so einer Anwendung eben wie bereits gesagt vor allem die Trennung von Code und UI sowie die Datenbindung.

Aber letzten Endes geht es Dir wahrscheinlich um mehr, wie man innerhalb solch einer Anwendung insgesamt vorgeht.
Schließlich endet die Architektur nicht am ViewModel.

Und der modernste Ansatz - vor allem bei Desktop Anwendungen - ist eben das State-Verhalten sowie Event-driven Architecture: da kommt Reactive Extensions ins Spiel.

D.h. Dein ViewModel bewegt sich rein durch die Events, die durch RX getriggert werden.
 Reactive WPF – Part 1 – Introduction to Reactive Extensions


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 09.04.2020 03:22