2013-08-12 2 views
0

Этот вопрос применим не только к WPF, но и к другому языку программирования, но я буду ради меня и прошу экспертов в доме для профессиональных консультаций.Рекомендации по обновлению приложений WPF - Архитектурное объяснение

Я запускаю настольное приложение в WPF C#, и модули приложений подвергаются обновлениям практически каждый день.

Принимая WPF C# в качестве примера, может ли кто-нибудь дать архитектурное объяснение при разработке такого приложения.

Например, приложение может выполнять учет, аудит и так далее. пользовательский интерфейс главного окна и другой пользовательский интерфейс и вся прикладная логика в приложении подвергаются изменениям на основе ежедневного обновления.

Задача обновления должна выполняться в фоновом режиме и запускаться при запуске компьютера. Обновление не должно мешать программе, когда пользователь ее использует, но обновление установки должно выполняться, когда приложение не работает или запрашивает у пользователя об этом.

Я по достоинству оценит вклад экспертов в дом.

Благодаря

+0

Есть целые книги, чтобы ответить, что – Jonesopolis

+0

Можем ли мы начать где-нибудь или дать ссылки? Я буду очень благодарен. – Temitayo

ответ

2

То, что вы описываете здесь хорошо подходит для поиска в использовании MEF.

Управление Framework Extensibility Framework позволит вам использовать файлы библиотеки, не связанные со статическими ссылками, которые придерживаются стандартного интерфейса, который вы определяете. Поскольку они не статически ссылаются, вы можете заменить эти файлы библиотеки в установленном приложении без необходимости перекомпиляции остальной части приложения.

В этих терминах любая «сменная» логика должна быть помещена в эти библиотеки MEF'd и обрабатываться как плагины. Таким образом, вы можете обновлять их по мере необходимости.

Что касается обработки обнаружения и загрузки новой версии плагинов, которая будет чем-то, что вам нужно бросить самостоятельно.

+0

Спасибо за ваш ответ, я сейчас изучаю этот MEF, и я думаю, что это отправная точка, человек Kudos, я могу начать здесь. – Temitayo

+0

Если вы когда-либо создавали этот тип приложений раньше, как вы обрабатываете процедуры загрузки и перезаписывания. Хотя я могу выжать рабочее решение из головы, но проверенное и работающее решение поможет моему RAD. – Temitayo

+0

Это будет очень привлекательно, так как вы не можете выгружать DLL из домена приложения, что делает переписанные DLL-файлы, которые были загружены в память проблематично. У MEF есть функция, которая позволяет перестраивать каталоги, но я не уверен, как это работает под капотом. Самой большой проблемой будет перезапись используемых DLL-файлов. – Jammer

Смежные вопросы