Управляемая платформа расширяемости (MEF) по сравнению с составным объектом блок приложений UI (CAB)

Версия пакета очень важна.

Я нашел стабильную комбинацию, которая работает на моей 64-битной машине с Windows10:

pip install numpy-1.12.0+mkl-cp36-cp36m-win64.whl
pip install scipy-0.18.1-cp36-cp36m-win64.whl
pip install matplotlib-2.0.0-cp36-cp36m-win64.whl

Источник .

5
задан blu 22 May 2009 в 15:59
поделиться

4 ответа

Я могу ошибаться, но я не думаю, что MEF занимается каким-либо посредничеством в событиях. Это общий механизм композиции, похожий на контейнеры ioc, но предназначенный для более общего решения расширяемости подключаемых модулей и приложений. CAB и Prism, с другой стороны, являются фреймворками пользовательского интерфейса, которые позволяют создавать составные приложения, состоящие из компонентов пользовательского интерфейса. Поскольку компоненты пользовательского интерфейса, скорее всего, должны будут взаимодействовать друг с другом и реагировать на действия в других компонентах пользовательского интерфейса, базовая структура должна предоставлять механизм для событий (публикация / подписка) между компонентами пользовательского интерфейса.

7
ответ дан 18 December 2019 в 07:31
поделиться

Если вы используете MEF с WPF и шаблоном MVVM, то ваши части обычно экспортируют классы ViewModel и классы View (например, DataTemplates и т. Д.). Ваш View привязывается к ViewModel и использует свойства и команды зависимостей для обмена данными между собой. Следовательно, если части A необходимо взаимодействовать с частью B, тогда часть A может импортировать ссылку на ViewModel части B, и они могут выполнять вызовы методов туда и обратно. Часть A может также регистрировать обработчики событий для событий Части B и т. Д.

6
ответ дан 18 December 2019 в 07:31
поделиться

MEF не включает механизм обработки событий, однако вы можете использовать агрегатор событий Prism с MEF. Я написал об этом здесь.

http://codebetter.com/blogs/glenn.block/archive/2009/02/23/event-aggregation-with-mef-with-and-without-eventaggregator.aspx

По сути, вы экспортируете Prism ' Гленн

6
ответ дан 18 December 2019 в 07:31
поделиться

Я согласен со Скоттом. «Общая» модель pub / sub кажется интересной, но мне редко она нужна. Если мне нужно разделенное сообщение, с помощью MEF я просто определяю контракт IMessage, а затем экспортирую реализацию, а затем импортирую туда, где мне это нужно. Если это строго типизированное сообщение, я импортирую именно ту часть, с которой мне нужно поговорить, и напрямую отправлю ее.

2
ответ дан 18 December 2019 в 07:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: