Является ли Unity Framework полезным для инверсии контроля? - PullRequest
5 голосов
/ 20 сентября 2008

Я уже некоторое время использую IoC , и мне любопытно, стоит ли мне использовать Microsoft Unity framework (официальное название "Unity Application Block"). У кого-нибудь есть опыт его использования? Так как я копировал свой код контейнера IoC из проекта в проект, но я думаю, что было бы лучше использовать что-то стандартное. Я думаю, что IoC может иметь ОГРОМНОЕ отличие в том, чтобы поддерживать приложения, основанные на компонентах, слабо связанными и поэтому изменяемыми, но я ни в коем случае не эксперт по IoC, поэтому я нервничаю, чтобы переключиться на среду, которая просто загонит меня в угол как зависимость однажды захочется уйти от.

Ответы [ 4 ]

6 голосов
/ 16 октября 2008

Я использую Unity без особых проблем. Я знаю, что несколько людей типа ALT.NET предупреждают против Unity, но я действительно думаю, что это только из-за истории, которую команда MS P & P писала наворотами. Единство еще не раздуло ИМО и работает хорошо.

5 голосов
/ 16 октября 2008

Я взглянул на Unity Framework, но обнаружил, что он немного «слишком велик» для моих нужд (нет, я не могу это измерить, просто мне потребовалось гораздо больше знаний, чем в других платформах, которые я я играл с ... это было некоторое время назад, поэтому возможно, что это изменилось, когда Unity была разработана / усовершенствована).

Моя текущая структура IoC / Dependency Injection - Ninject . Это быстро, быстро, и я смог перейти от чтения учебников (около 10 минут) к использованию их в уже существующем проекте примерно за два часа.

Если вы ищете чистый способ внедрения зависимостей, я настоятельно рекомендую проверить это.

3 голосов
/ 16 октября 2008

Я бы сказал, придерживайтесь того, кого вы знаете, пока вы не почувствуете уверенность в этом и в целом в концепции. После этого у вас будет более правильное решение выбрать структуру, которая удовлетворит ваши потребности.

3 голосов
/ 20 сентября 2008

Я играл с CompositeWPF (он же Prism) - преемником блока приложений Composite. Из моего опыта Unity работает намного лучше по сравнению с предыдущей версией ObjectBuilder. Однако вы должны оценить IoC-фреймворки и выбрать ту, которая соответствует вашим потребностям.

Учебные пособия и образцы Unity

Unity IoC Screencast

...