Architecting ASP.net MVC App to use repositories and services

Posted by zaladane on Stack Overflow See other posts from Stack Overflow or by zaladane
Published on 2010-03-23T20:40:56Z Indexed on 2010/03/23 20:43 UTC
Read the original article Hit count: 236

Hello, I recently started reading about ASP.net MVC and after getting excited about the concept, i started to migrate all my webform project to MVC but i am having a hard time keeping my controller skinny even after following all the good advices out there (or maybe i just don't get it ... ). The website i deal with has Articles, Videos, Quotes ... and each of these entities have categories, comments, images that can be associated with it. I am using Linq to sql for database operations and for each of these Entities, i have a Repository, and for each repository, i create a service to be used in the controller.

so i have -

  • ArticleRepository
  • ArticleCategoryRepository
  • ArticleCommentRepository

and the corresponding service

  • ArticleService
  • ArticleCategoryService ...

you see the picture.

The problem i have is that i have one controller for article,category and comment because i thought that having ArticleController handle all of that might make sense, but now i have to pass all of the services needed to the Controller constructor. So i would like to know what it is that i am doing wrong. Are my services not designed properly? should i create Bigger service to encapsulate smaller services and use them in my controller? or should i have an articleCategory Controller and an articleComment Controller?

A page viewed by the user is made of all of that, thee article to be viewed,the comments associated with it, a listing of the categories to witch it applies ... how can i efficiently break down the controller to keep it "skinny" and solve my headache?

Thank you! I hope my question is not too long to be read ...

© Stack Overflow or respective owner

Related posts about asp.net-mvc

Related posts about repository-pattern