Should a service layer return view models for an MVC application?

Posted by erg39 on Stack Overflow See other posts from Stack Overflow or by erg39
Published on 2010-06-08T23:45:03Z Indexed on 2012/07/04 15:16 UTC
Read the original article Hit count: 174

Filed under:
|
|

Say you have an ASP.NET MVC project and are using a service layer, such as in this contact manager tutorial on the asp.net site: http://www.asp.net/mvc/tutorials/iteration-4-make-the-application-loosely-coupled-cs

If you have viewmodels for your views, is the service layer the appropriate place to provide each viewmodel? For instance, in the service layer code sample there is a method

    public IEnumerable<Contact> ListContacts()
    {
        return _repository.ListContacts();
    }

If instead you wanted a IEnumerable, should it go in the service layer, or is there somewhere else that is the "correct" place?

Perhaps more appropriately, if you have a separate viewmodel for each view associated with ContactController, should ContactManagerService have a separate method to return each viewmodel? If the service layer is not the proper place, where should viewmodel objects be initialized for use by the controller?

© Stack Overflow or respective owner

Related posts about asp.net-mvc

Related posts about mvc