Question

Background: I'm currently, for my University, creating some simple apps showcasing the possible educational potential of the Microsoft Surface. Their functionality falls somewhere between a basic demo app and a full-fledged production app.

Our hesitation with using MVVM or some other type of MVC is that, with the exception for the few apps that we have which are data-backed, most of our apps are deeply tied to their presentation (i.e. the Surface touchscreen). It doesn't seem logical to emphasize such extreme separation of business logic and the view in this circumstance.

Any ideas?

Was it helpful?

Solution

I've used MVVM with great success with Surface. MVVM is about modeling your views and separating out whatever logic is behind them. It doesn't matter whether that logic deals with databases or whatever. If you have a view, it is a view of something. Therefore that something should be represented by your view model.

OTHER TIPS

The point of using an MVC of some kind, such as MVVM, is to eliminate that deep coupling between presentation and behavior. That kind of coupling is pretty universally considered a BAD thing, and it should not be a desirable trait. I would highly recommend that you work towards separating your views from the logic that drives them, and utilize the WPF MVVM approach. In the long run, you will be MUCH happier for it, and your application will be more maintainable and future-proof. It shouldn't matter if the presentation platform is Surface, Vista, Windows 7, or any other WPF-capable device...separation of concerns is a KEY thing that you should really strive to meet.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top