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