Comments 29
Отлично! Кстати с выходом MEF на Silverlight, думаю, что нет, вообще, никакой необходимости в использовании Prism. Дает он, реально, по мелочи. Все что там есть напишется достаточно быстро. Притом он жиреет, причем не в очень хороших направлениях. Добавили логгер, который вряд ли будет использоваться и т.п.
Я думаю что призм более зрелый в плане построения приложений, нежели MEF. В мефе надо писать больше, в призме уже готовые компоненты (регионы, мессенжер, и т.д.).
MEF предназначен для другого, в нем можно загружать во время исполнения части в виде плагинов
DelegateCommand пишется за 5 минут. EventAggregator за 10. Ну и подстановка регионов за пару часов. Unity оставляем. Итого, все готово. Что еще вам даст Prism?
Более того — можно просто выцепить только то, что вам нужно прям из исходного кода Prism. Еще не плохой вариант. Более того в Prism 4 возможность регистрации модулей будет возможна при помощи MEF.
Более того — можно просто выцепить только то, что вам нужно прям из исходного кода Prism. Еще не плохой вариант. Более того в Prism 4 возможность регистрации модулей будет возможна при помощи MEF.
Денис, ты начинаешь напоминать линуксоидов, все можно написать руками ;)
ха-ха :) ну я просто из соображений еще, что в SL важен размер XAP файла. Prism жиреет, а это не простительно. Хотя, конечно, библиотеки там (говорю про версию 2) достаточно независимы, потому может и можно взять только то, что тебе нужно.
Prism естественно будет развиваться и жиреть, надеюсь они все повыносят по отдельным библиотекам и можно будет подключаться только то, что надо
Я б не сказал что призм сделал прям наше приложение толстым. 150 кб несжатых dll.
вместе с Unity призм 4 (все библиотеки) — это 385 Kb.
Ладно, ладно, я сдаюсь. Я просто высказал свое мнение, что я скорее всего сделаю так в будущем.
Ладно, ладно, я сдаюсь. Я просто высказал свое мнение, что я скорее всего сделаю так в будущем.
никто ж не воюет :) нормальная дискуссия. я тож думал по поводу мефа и призма и пока что решил пользоваться готовым в приложениях коммерческих. А дома играю с кубиками мефа.
главное не забывать вычищать эти 385 кб из каждого XAP файла (кроме того, где находится entry point), а то они быстренько превратятся в мегабайты.
Так все пишется :) иногда это время стоит потратить на бизнес.
Кстати, я готовлю статью о миграции проектов с Prism 2 на Prism 4 mef edition. Есть подводные камни
>> Библиотека MEF появилась относительно недавно
скорее, «была выпущена». Про MEF я писал на хабре еще 2 с лишним года назад
habrahabr.ru/blogs/net/26853/
скорее, «была выпущена». Про MEF я писал на хабре еще 2 с лишним года назад
habrahabr.ru/blogs/net/26853/
Про PartCreationPolicy атрибут автор совсем не слышал?
к чему конкретно вы предъявляете притензии?
Ну если только на однобокость :)
Про ExportFactory сказали, а про альтернативный вариант [PartCreationPolicy(CreationPolicy.NonShared)] умолчали :)
Про ExportFactory сказали, а про альтернативный вариант [PartCreationPolicy(CreationPolicy.NonShared)] умолчали :)
Госпади ну есть же дока по мефу :)
Афтар дал свое видение, не будет же он переводить доку на русский и кидать на хабр :)
Афтар дал свое видение, не будет же он переводить доку на русский и кидать на хабр :)
Тема раскрыта — можно создавать модульные приложения на mef.
Была бы тема «mef во всех подробностях», тогда бы ваша претензия прокатила.
Была бы тема «mef во всех подробностях», тогда бы ваша претензия прокатила.
А, понятно
этот атрибут есть и в настольной версии. В начале статьи я перечислил то, что отличает Silverlight версию от desktop.
этот атрибут есть и в настольной версии. В начале статьи я перечислил то, что отличает Silverlight версию от desktop.
В проекте стоит изменить Startup Project на SLandMEFdevcamp.Web
Иначе не работает из за пути в виде file:///…
Иначе не работает из за пути в виде file:///…
Sign up to leave a comment.
Использование Managed Extensibility Framework (MEF) для разработки модульных Silverlight приложений