Какой бутстрапер для Caliburn Micro - PullRequest
3 голосов
/ 15 января 2011

Хотелось бы услышать, какой загрузчик (MEF, Unity, Autofac ... и т. Д.), По вашему мнению, подходит (лучше всего) для caliburn micro и почему?

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

Я новичок в этой области; извините, если мой вопрос немного глуп.

Спасибо за каждое мнение, совет и пример кода.

Ответы [ 2 ]

6 голосов
/ 17 января 2011

Лучшего решения не существует, оно будет зависеть от дизайна ваших приложений. MEF не является контейнером IoC общего назначения (в отличие от Unity, Autofac и т. Д.), И его основное внимание уделяется обнаружению типов и их составу.

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

Unity и т. Д. Имеют более общее назначение и предоставляют возможности, выходящие за пределы MEF, и в дополнение к компоновке объектов также ориентированы на другие измерения DI, такие как управление временем жизни и перехват.

Ничто не мешает вам использовать как MEF для поддержки расширений / плагинов, так и более универсальный контейнер IoC, такой как Unity / Autofac / Castle Windsor, для общей инфраструктуры DI приложений.

Если вы новичок в DI, то, возможно, пока что пользуетесь MEF, поскольку он предложит все необходимые вам функции компоновки объектов, и Роб уже предоставил реализацию Bootstrapper, которая использует MEF.

0 голосов
/ 12 мая 2011

Или, возможно, вы захотите использовать MEF для архитектуры надстроек, но используйте подходящую среду IoC, такую ​​как AutoFac, для внедрения зависимостей.

...