Robert Strauch
Robert Strauch

Reputation: 12896

How many views, viewmodels and models do I need?

I'm trying to develop a WPF application - actually it's more a tool - using the MVVM pattern. I've read several articles, watched videos, posted questions but somehow I feel that my approach to or understanding of this MVVM thing is not "the right one".

I'll start from the UI. In a first stage the UI shall display the following:

So I would identify the following data that need to be handled:

My worries, I have no idea how I should structure or design this following MVVM. How many views, viewmodels and models should I use here? Of course, the application will grow but not this much. Let's stick to the above.

Upvotes: 1

Views: 3787

Answers (1)

Aaron McIver
Aaron McIver

Reputation: 24723

There is no right or wrong answer to this

Think of Views, ViewModels, and Models as cut off points. They allow you to modularize your application versus taking a non-reusable monolithic approach.

In general, ViewModels to Views is 1:M however reality is that most of the time they are 1:1 relationship. The ViewModel and View are where the bulk of work resides, with the Model acting as nothing more than a POCO which implements INotifyPropertyChanged for binding needs.

In your example I would use a single View backed by a single ViewModel and multiple Models as is needed (Project, UserCredentials, etc...). You may have services which perform the actual login effort however you can perform that work in the ViewModel.

Upvotes: 6

Related Questions