Sometimes if we don't implement software application's layer separation correctly, it leads to many code issues. This is even more important when we are dealing with an enterprise scale solution. So check out my articles published recently on Developer.com which dig deep into common IoC design issues and its resolution:
Dependency Injection Best Practices in an N-tier Modular Application
In this article, you will learn some of the best design practices in implementing an Inversion of Control (IoC) / Dependency Injection (DI) pattern to create a loosely coupled system in .NET Framework, while keeping the data and business layers abstracted.