Что лучше использовать вместе с Prism4, Unity или MEF в качестве контейнера для ввода зависимостей?
Я работаю над большим биллинговым приложением для одной телекоммуникационной компании, использующим WPF4, приложение содержит более 300 экранов и более 17 модулей, поэтому я предпочитаю следовать указаниям Prism4.
После долгих чтений о Prism4 я не мог решить, какой контейнер Dependency Injection мне следует использовать (MEF или Unity)? они почти имеют одинаковые возможности.
Я уверен, что Microsoft отбросит один из них через некоторое время (возможно, через два или три года), как только они сойдутся друг с другом (и они почти там), как это произошло с LINQ to SQL и EF. Чего я боюсь, так это создания своего решения с использованием одного из них, и через некоторое время Microsoft отказывается от него!
Кроме того, с точки зрения возможностей, если у вас есть рабочие знания обоих, какой из них вы считаете лучше? и почему?
Пожалуйста, помогите мне решить.
Заранее спасибо...
2 ответа
MEF имеет то преимущество, что является частью ядра.NET Framework. Он поставляется как часть самой платформы в.NET 4. Unity по-прежнему является отдельной установкой, а не базовой платформой.
Таким образом, если вы хотите иметь самый длинный потенциальный срок службы, MEF по крайней мере "официально поддерживается" как часть.NET. Я бы сказал, что в этом отношении у него более безопасное будущее.
MEF является частью платформы.NET 4 и поэтому не будет отброшен.