Контейнеры вещь очень хорошая, но чтобы ими пользоваться нужно знать и применять методики гибкой разработки. Просто наличие контейнера еще не избавляет код от ужасных зависимостей. Так что прочитайте вначале про инверсию зависимостей. Есть даже книга на русском: "Инверсия зависимостей в .Net".