Выбор контейнера .Net Inversion of Control для первой попытки внедрения зависимостей
-
03-07-2019 - |
Вопрос
С каким контейнером IoC проще всего начать?Вероятно, это соответствует тому, у кого из них самая дружелюбная документация.Не слишком беспокоюсь о количестве функций.
Решение
Взгляните на этот эпизод DotNetRocks с Джеймсом Ковачем:http://www.dotnetrocks.com/default.aspx?showNum=362
А это ДНРТВ, где он катит свой IoC:http://www.dnrtv.com/default.aspx?showID=126
Кит
Другие советы
То, что проще всего, в значительной степени зависит от того, откуда " вы пришли из " ;. Но если вы знакомы с функциями .Net 3.5, такими как лямбды и методы расширения, я большой поклонник Autofac. Autofac интенсивно использует лямбды и методы расширения для регистрации компонентов вместо использования xml-файлов. Это добавляет преимущество, что вы имеете полную безопасность типов, а также вы получаете Intellisence при регистрации. Это также очень легкий контейнер, который мне нравится.
Autofac размещается в коде Google ( http://code.google.com/p/autofac / ) и имеет довольно хорошую вики с документацией.
Я бы начал с фабрики программного обеспечения Smart Client или < a href = "http://msdn.microsoft.com/en-us/library/cc468366.aspx" rel = "nofollow noreferrer"> Unity
Они включают в себя тонны образцов, а также SCSF, включая некоторые другие шаблоны проектирования, с которыми можно работать.
Мне нравится Castle Windsor, и здесь вы можете найти статью из трех частей, которая описывает все, что вам нужно для начала.
http://dotnetslackers.com/articles/designpatterns/InsertxtainerPeccesserCdeCardSource_CardSigner >
StructureMap и Unity также хорошо документированы.
Кстати, имейте в виду, что почти все контейнеры работают одинаково, поэтому переход от одного к другому довольно прост.
Хотите узнать о IoC? Р>
Если это так, я рекомендую IOC Орена Эйни в 15 строках , потому что ничто не помогает вам учиться быстрее, чем действительно простой пример с полным исходным кодом.
Я бы порекомендовал StructureMap.
Очень легко настроить и начать работу.