title: IController vs ControllerBase vs Controller vs MyController?
body: <p>I have an ASP.NET MVC project I have been building and was looking through some documentation when I came across how the Controller class is implemented. I am pretty familiar with OOP but have a few questions about why it is implemented in such a manner.</p>
  
  <p>I looked on <a href="https://www.codeproject.com/Articles/560798/ASP-NET-MVC-controller-dependency-injection-for-be" rel="noreferrer">codeproject</a> and some <a href="https://stackoverflow.com/questions/32926724/built-in-base-class-for-controllers-in-asp-net-mvc-controller-or-controllerbase">stack overflow</a> questions but couldn't find quite the same question I am wondering.</p>
  
  <ol>
  <li>in MVC 5 What is the purpose of this chain: IController -> ControllerBase -> Controller -> MyController. </li>
  <li>If ControllerBase is supposed to be the minimum it takes to make a controller then why have a Controller class? Or vise versa if Controller is the minimum implementation then ControllerBase isn't really a base class?</li>
  </ol>
  
  <p>Thanks in advance!</p>