title: Better to have huge Controllers, or many controllers, in MVC?
body: <p>We are building a fairly large HR application in ASP.NET MVC, and so far our controllers are becoming quite large.  For example, we have an Employee controller, and all employee views are included (Personal info, employee deductions, dependents, etc).  Each of these views might have multiple actions or subviews (e.g. CRUD).  Each action is relatively small, but the controllers might have dozens of functions.</p>
  
  <p>Are there any best practices for splitting controllers?  Instead of having an Employee controller with dozens of views, would it be better too have one controller for each subtype (i.e. EmployeePersonalInfoController, EmployeeDeductionController, EmployeeDependentController)?  </p>
  
  <p>And finally, does it even matter?</p>
  
  <p><strong>Updated Clarification</strong></p>
  
  <p>My original concern was with CRUD actions.  For example, let's consider Create and Delete ... </p>
  
  <p><em>Current Actions in EmployeeController</em>:</p>
  
  <pre><code>  CreateEmployee()
    DeleteEmployee()
    CreateEmployeeDeduction()
    DeleteEmployeeDeduction()
    CreateDependent()
    DeleteDependent()
    etc.
  </code></pre>
  
  <p>If the controllers were split:</p>
  
  <pre><code>  EmployeeController
      Create()
      Delete()
    EmployeeDeductionController
      Create()
      Delete()
    EmployeeDependentController
      Create()
      Delete()
    EmployeeBenefitController
      Create()
      Delete()
    etc.
  </code></pre>
  
  <p>In the 1st scenario, our ~100 screens get split into 8-10 large controllers.  In the second, I'd probably have ~50 controllers.</p>