Chapter 3. Model-View Separation

In a software product there are two distinct modules whose responsibilities are well-defined and should be clearly demarcated. The model is a software representation of a solution to a known problem whereas the view allows the user to interact with the model to solve a specific problem.

Before discussing the specifics of MVVM, it is necessary to consider why we need to separate the model and the view, how they can be separated, and what their respective roles are in a software product. There can be significant workload added to a project in keeping these two subsystems disconnected, and all stakeholders must be committed to the cause. It is easy to start cutting corners when under the pressure of deadlines, but ...

Get Pro WPF and Silverlight MVVM: Effective Application Development with Model-View-ViewModel now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.