title: IoC (Ninject) and Factories
body: <p>If I have the following code:</p>
  
  <pre><code>public class RobotNavigationService : IRobotNavigationService {
    public RobotNavigationService(IRobotFactory robotFactory) {
      //...
    }
  }
  public class RobotFactory : IRobotFactory {
    public IRobot Create(string nameOfRobot) {
      if (name == "Maximilian") {
        return new KillerRobot(); 
      } else {
        return new StandardRobot();
      }
    }
  }
  </code></pre>
  
  <p>My question is what is the proper way to do Inversion of Control here? I don't want to add the KillerRobot and StandardRobot concretes to the Factory class do I? And I don't want to bring them in via a IoC.Get&lt;> right? bc that would be Service Location not true IoC right? Is there a better way to approach the problem of <strong>switching the concrete at runtime</strong>?</p>