In ASP.NET MVC there is such thing like ViewModel.
It works like this: To view we could bound only one model and this model called ViewModel. Access to data entities goes through this model.
Why it is good?
- It helps with separation of concerns.
Whan application growing it starts happening a lot in view or in controller.
- IDE friendly.
Why it is bad?
- We need to create and maintain additional class
- In ViewModel should be only model related code, needed for view, not models itself. Unexperienced user can put general code for model processing in ViewModel.
I suppose this pattern could exist in the form of concept, for example, this approach cloud be described in manual and ViewModel cloud be optionally generated by Gii