+2  A: 

You are suggesting that you need to create 3 controls (Customer/Order/Product) because your design requires you to do so. So that means your GUI designer can't choose to interleave customer fields with Order or Product fields.

Now this may or may not be a good idea... But I think it is a weird restriction. (It kind of implies you can't repeat the customer adress together with the order confirmation because it is in a different table).

It just isn't as simple that one of these MVVM design flavors is more correct than others. I reccomend that you review the alternatives and choose the MVVM flavor that helps you to solve your problem. And this 1:1 dogma does not appear to help you, so I'd ditch it.

jdv
jdv => quote:". (It kind of implies you can't repeat the customer adress together with the order confirmation because it is in a different table)." This is a very good comment and so true! Doing the 1:1 View/VM stuff I can not mix gui controls what is very very limiting for the designer doing user interfaces all looking like square areas/tables...
Lisa
well concerning your statement about to interleave fields that would be valid for every scenario so actually a 1:1 dogma isn`t helpful at all... Above all what if CustomerList is in a combobox and under that combobox I have fields like customer firstname,lastname etc that way I have to mix a CustomerListViewModel with a CustomerDetailViewModel... thats horrible...
Lisa
@Lisa: There is an example where the 1:1 design makes sense. Namely when ou build a customizable plugin framework, like an IDE, where users can build their UI by combining building blocks. But in most applications that is not an important feature at all, and just steepens the learning curve.
jdv
@Lisa: It remains your responsibility as dev/designer to choose a design that enables you to build the applications needed by your organisation. It is also sometimes useful to ponder if your desing can deal with changes in requirements, if you can imagine reasonable variations. If you can conclude that the design allows variations without much rework, you know you're on the right track.
jdv
Doing it the 1:1 way leads to a terrible GUI. Doing it my way leads to technical problems. I hate mvvm... It can`t be that terrible if so many people use it at least thats what I am hearing...
Lisa