When developing WPF applications, the most commonly used and the most suitable architecture pattern is MVVM. The MVVM pattern is flexible and extensible. It is specifically designed to separate business logic and data layer from the user interface, thus keeping the application code clean and maintainable.
Let’s consider a typical MVVM architecture, illustrated below:
The challenging and, the most time consuming part in implementing this, would be writing all the plumbing for it. Just imagine a scenario where you have to deal with 20 or more data tables. For each table you would have to manually create your models and define their dependencies. And not only that... you would also have to spend time on implementing INotifyPropertyChanged, error handling and so many other minute details that it would take you away from actually building the app that you need.
To help with this laborious task, we created a Scaffolding Wizard. The idea is simple, help developers to create clean MVVM style applications fast. You start with providing your data tables by selecting them from a list, and the rest of the code is generated for you automatically.
Scaffolding Wizard will generate everything for you, from data loading and saving to error handling and synchronization.
From the above shown pattern, this first release supports the following flow, with the rest to come in the upcoming releases:
In addition to this, we have abstracted many MVVM scenarios into a DevExpress.Xpf.MVVM assembly, to help with Attached Behaviors, Services, Notification Services more.
To see all the Scaffolding Wizard in action please check out this video:
DevExpress WPF MVVM Scaffolding Wizard
A step by step by step tutorial could be found here: http://documentation.devexpress.com/#WPF/CustomDocument15281