Ich fange gerade an, in das MVVM-Muster für WPF zu graben, aber weil ich kein professioneller Entwickler bin, fühle ich mich manchmal etwas verloren.Abhängigkeiten in der MVVM
Das Hauptproblem, das ich habe, ist zu entscheiden, wer wen erstellen sollte: Sagen wir, ich habe eine Datenbank, die Hunde und Katzen speichert. Ich hätte dann einen DatabaseManager, der mit der Datenbank (Unit of Work !?), einem DogRepository/CatRepository und den Dogs/Cats-Objekten kommuniziert.
Auf der anderen Seite habe ich mein MainWindow, mit dem der Benutzer die Datenbank öffnen/schließen kann und die eine Listbox für Katzen und eine für Hunde enthält, also brauche ich ein MainWindowViewModel, CatsViewModel und DogsViewModel.
Aber wie erstelle ich diese Objekte? In meiner Anwendung erstelle ich offensichtlich das MainWindow. Und dann? Erstelle ich ein MainWindowViewModel und übergebe es an das MainWindow oder erstellt das MainWindow sein eigenes MainWindowViewModel? Wie wird der DatabaseManager erstellt? Durch das MainWindowViewModel?
Was ist mit dem CatsViewModel und dem entsprechenden CatRepository? Erstellt das MainWindowViewModel das CatsViewModel, das wiederum ein CatRepository erstellt? Ich bin wirklich verwirrt.
Vielen Dank für Ihre Erklärung. Ich brauchte eine Weile, um mich mit WPF und MVVM vertraut zu machen, und jetzt kann ich deine Antwort schätzen. – CaptainProton
Ich bin froh, dass ich helfen konnte! –