I’m familiar with the various bits of functionality of the MVC plugin to create things. For example you can create a controller, write an Action method on it, then use the “create view” function in the context menu to create a view for it.
The question is, which is it recommended to do first?
I’m thinking I might start myself a methodology like this:
- Plan out what the UI etc will look like and how it will work.
- Write unit tests for the controller actions I think I might need.
- Create Controller (maybe with default CRUD actions if it’s to be that kind of controller).
- Create ViewModel class for each controller action.
- Create a strongly-typed view for each ViewModel.
- Start building the view, working back through the ViewModel to the Controller as the View is built up.
What do you think of this approach, and what do you do?
Sounds like you’re on the right track. Controllers are the most easily tested component of the three. Going controller-first will make it easier to follow Test-Driven Development practices.
I’ve not been perfectly happy with the default view templates, but every MVC guru will point you to T4 templates, which let you roll your own. They, like the out-of-the-box view templates, will be more effective with existing view models and controllers.