title: Dependency Injection in a 3 layer asp.net mvc application
body: <p>I have a 3 layer application and the layers are:</p>
  
  <ul>
  <li>Web: Presentation Layer (ASP.NET MVC) --> only sees BLL</li>
  <li>BLL: Business Logic Layer --> only sees DAL</li>
  <li>DAL: Data Access Layer</li>
  </ul>
  
  <p>So the <code>Web</code> layer doesn't know anything about my <code>DAL</code> layer. I have repository interfaces and concrete classes in my <code>DAL</code>, which are used in <code>BLL</code> layer in business logic classes. The question is, in order to decouple <code>DAL</code> and <code>BLL</code>, how do I setup Ninject to inject my repository implementations to the <code>BLL</code> layer?</p>
  
  <p>The same question is for <code>Web</code> layer and <code>BLL</code> layer, I have interfaces and implementations on <code>BLL</code> which I use them in <code>Web</code> layer, how should I setup Niject for this?</p>