Wir stehen kurz vor der Erstellung unserer ersten WPF-Anwendung und machen uns mit dem MVVM-Muster vertraut. Wir haben viele Winform-Anwendungen erstellt und verfügen über eine Architektur, die für uns sehr erfolgreich war. Wir haben ein bisschen Probleme, diese Architektur zu übersetzen oder festzustellen, wo bestimmte Teile unserer Architektur in das MVVM-Modell passen.
Historisch gesehen haben wir eine Gui (die Haupt-Exe), die dann mit einer BusinessLogic-DLL kommuniziert. Die BusinessLogic kommuniziert über einen Webdienst mit einer DAL-DLL, und die DAL interagiert mit der DB. DAL, BusinessLogic und GUI verweisen alle auf dieselbe BusinessObjects-DLL.
Ein Teil des Übergangs zu MVVM ist recht unkompliziert. Unsere Benutzeroberfläche enthält weiterhin die Ansichten, unsere BusinessOjbects enthalten weiterhin das Modell und unser DAL interagiert weiterhin mit der Datenbank (obwohl sich die Technologie zu deren Implementierung möglicherweise ändert).
Was uns nicht sicher ist, ist unsere BusinessLogic-Komponente. Historisch gesehen würde dies Funktionen für die GUI bereitstellen, um dann Steuerelemente in den Ansichten aufzufüllen (dh GetCustomerList, die eine Liste von Kundenobjekten oder die typischen CRUD-Funktionen zurückgeben würden).
Das Hauptproblem ist, ob das MVVM-Muster eine zusätzliche Komponente zur Aufnahme der ViewModels erfordern würde oder ob wir nur unser Denken ändern und das, was wir als BusinessLogic-Komponente verwendet haben, auf die ViewModels migrieren?
Stellt unsere BusinessLogic-Komponente die ViewModels dar?