Я скачал Prism v4 и запустил установщик. Я вошел в каталог и запустил два следующих пакетных файла:
- Только для настольных ПК - Откройте модульность с Mef QuickStart.bat
- Только для настольных ПК - Откройте модульность с Unity QuickStart.bat
Когда я компилирую эти приложения, я не вижу реальной разницы. Я искал MEF против Unity и нашел некоторые плюсы и минусы, но ничего такого, что бы конкретно указывало, «лучше ли» (и я знаю, что это субъективно) с использованием в Prism. Наверное, если я перечислю свои требования, кто-то может указать мне правильные технологии (даже если это не Prism 4).
- Приложение должно быть написано в формате WPF ( НЕ Silverlight).
- Основное приложение будет чрезвычайно тонким.
- Основное приложение будет использовать веб-службу для создания меню «приложений / модулей», к которым у человека есть доступ.
- «Приложения / модули» будут полностью содержаться в других управляемых библиотеках.
- Основное приложение получает представления и модели представлений путем отражения в этих библиотеках.
- Основное приложение должно вводить службы для регистрации и т. Д. В эти "приложения / модули".
Например:
Обычный пользователь может иметь следующие параметры:
Все элементы, связанные с адресом, находятся в пределах Address.dll.
Опытный пользователь может иметь следующие параметры:
- Новая адресная запись
- Открыть запись адреса (обновить / удалить)
- Управление пользователями
Все элементы, связанные с адресом, находятся в пределах Address.dll.
Все элементы управления связаны внутри Admin.dll.
На самом деле приложение не должно ссылаться ни на одну из этих библиотек DLL, я планирую отразить их так, чтобы, если имеется 100 различных модулей и пользователь имел доступ только к 2 из них, только 2 из них загружались и использовались. В то время как пользователь, имеющий доступ к 10 из них, получает эти 10.
Я уже решил скачать DLL через WebService. :)