I am trying to implement the MVVM pattern but I am running into some trouble.
The whole application can be seen as a wizard. You have to select an item within Dialog A to see Dialog B, which depends on your selection. Dialog C is independent of the other selections but has to execute some business logic, which is dependent of the previous selections.
What I tried to do was to implement a BaseViewModel to save references to those selections. The BaseViewModel has a reference to the real model, which retrieves data from a DB and stores them as Properties.
The first issue I see is that the BaseViewModel acts like a 'Facade' to the model since it offers access to the models properties to the view.
The second issue is that I do somehow use the same BaseViewModel (and the same reference) for nearly every view. In my opinion this just does not feel right. It is like I am using a usual MVC pattern by adding complexity with an unnecessary (?) ViewModel.
An additional problem is, that the ViewModel of Dialog B is dependent of the selection of Dialog A. Do I have to implement a Property, which retrieves the data elements for the model whenever it is accessed?
Do you guys have any comments on the system?
Thanks in advance.