title: Organizing classes using the repository design pattern
body: <p>I have started upgrading one of our internal software applications, written in ASP.NET Web Forms, and moving to ASP.NET MVC.  </p>
  
  <p>I am trying to leverage the Repository design pattern for my classes, which leads me to my question about how much to put into a repository.</p>
  
  <p>I have the following entities:</p>
  
  <ul>
  <li>Topic</li>
  <li>Topic Comments (Topic can have multiple comments)</li>
  <li>Topic Revisions (Any time a Topic is edited, a revision is recorded)</li>
  <li>Topic Subscriptions (Allows users to
  subscribe to changes for a particular
  Topic)</li>
  </ul>
  
  <p>I currently have an interface for ITopicRepository and a class called TopicRepository that handles all the basic CRUD for a Topic. I am now preparing to add code for the Comments, Revisions and Subscriptions. </p>
  
  <p>I am wondering does ALL this go into the TopicRepository OR do I create a repository for each of the entities, for example, TopicRevisionRepository and so on.</p>