См. здесь и здесь для довольно подробного технического сравнения нескольких контейнеров IoC, хотя и несколько устаревших к настоящему времени (они выпущены до Windsor 2.0)
Однако я не думаю, что на самом деле есть какие-то жизненно важные функции, которые предлагает Виндзор, а другие контейнеры - нет. Windsor , StructureMap , Spring.NET существуют уже несколько лет и за эти годы использовались во многих проектах, поэтому сейчас они очень зрелые , Более новые контейнеры, такие как Autofac , Unity , Ninject и SimpleInjector , основаны на предыдущем опыте, поэтому у них не будет недостатка в этих жизненно важных функциях. ,
Теперь более субъективная часть ответа: мне нравится думать, что в Windsor есть хорошее сочетание модулей юзабилити, расширяемости и интеграции.
Удобство использования : например, вы можете использовать XML и / или регистрацию кода (он также имеет свободный API , как и большинство контейнеров в настоящее время).
Расширяемость : Множество точек расширения , которые можно использовать для настройки или переопределения практически любого поведения по умолчанию.
Интеграция : Windsor имеет множество возможностей (модулей), которые позволяют легко интегрироваться с другими фреймворками / библиотеками. Другие интеграции включают ASP.NET MVC , MonoRail , Workflow Foundation , NServiceBus , MassTransit , Сервисная шина Rhino , Quartz.Net , SolrNet , SolrSharp , Службы факсов Windows .
Эта серия статей охватывает множество тонкостей и расширений Виндзора.
Обратите внимание, что я не говорю, что другие контейнеры не предлагают подобные вещи! Даже если вы выбрали один из них, а потом обнаружили, что в нем отсутствует какая-либо интеграция, обычно его нетрудно написать самостоятельно.
Итог : Я не думаю, что вы можете ошибиться с любым из основных контейнеров IoC, если вы правильно структурируете свой код (например, избегаете анти-паттерна сервисного локатора).