Question: I've started to learn about IOC and specifically Ninject.

I was wondering what kind of design pattern does Ninject falls in to? It seems to me like a Factory design pattern, because I basically define a set of rules, create a kernel in my code and as that kernel for my object - which is like having a Factory and ask it for an object of a type which matches what I am sending to it.

Am I right about this? or is this a whole different category?

Thanks

Answer: 
Not at all, Ninject follows the Dependency Injection pattern.
You can find out more about it here: <http://martinfowler.com/articles/injection.html>

This pattern encourages the Dependency Inversion principle, which states that you should depend upon abstractions, instead of concretions. These two concepts are often mistaken for each other.
1. Inversion of control
2. Dependency Injection

And, if properly used, **Composition Root**, but yes this is not only ninject is always part of the solution in order to properly set up any container.