Patrick Smacchia advises developers to treat each namespace in an application as a component, and make sure there are no dependency cycles between your components. He claims that by abiding by this simple tenet, the structure of a large application can’t diverge to the monolithic block of spaghetti code base that seems to be the rule more than the exception in enterprise professional development.
Ninject is touted as a lightning-fast, ultra-lightweight dependency injector for .NET applications. Helping developers split applications into a collection of loosely-coupled, highly-cohesive pieces, and then glue them back together in a flexible manner. Using Ninject to support your software's architecture, your code will become easier to write, reuse, test, and modify.