After attending LBugnion session "Das “Model-View-ViewModel” Entwurfsmuster" at the TechDays last week and now watching DNR-TV episode 161: Rocky Lhotka on the MVVM Pattern in CSLA .NET 3.8, I now dare to claim that:
The Model-View-ViewModel pattern is not a pattern!I have been confused for a long time.
Now I have come to the conclusion that I will stay with the classic presentation patterns and Fowlers discussion: MVC, MVP, Supervising Controller, Passive View, Presentation Model.
Those concepts are quite clear and provide a sufficient vocabulary to discuss architecture and design of the presentation layer of an application. There is nothing to M-V-VM that provides additional concepts that are not covered by the former patterns.
For Model-View-ViewModel I have just seen too many varying ideas, too many different concepts and too unclear explanations. So I can't accept it neither as an architectural- nor as a design-pattern.
The fact that in the Java world the notion of this pattern is nonexistent is also an indicator that this can't be a fundamental concept in software development (though technologies like xamlwpfsilverlight might legitimate the need for new patterns).