Разработка для устройства Microsoft Embedded Handheld 6.5.3 - архитектура? - PullRequest
1 голос
/ 20 июня 2011

Я собираюсь запустить большой проект, в котором к одной и той же базе данных будут запрашиваться три разных приложения / источника.

  • Первым приложением будет приложение WPF для использования на ПК.(Дух)

  • Второй будет это портативное устройство сом PSION: http://www.psion.com/us/products/handheld/ep10_specifications.htm

  • И последний будет веб-сайт (MVC3 я думаю)

Я думаю, что для WPF я буду использовать шаблон MVVM (или MVP будет иметь больше смысла?), Но когда дело доходит до портативного устройства, я не знаю, какойшаблон / архитектуру на выбор.Можно ли вообще иметь какую-то архитектуру на таком устройстве?

Кто-нибудь имел опыт работы с этим?: -)

Любая помощь / подсказка приветствуется!

/ Бо

1 Ответ

2 голосов
/ 20 июня 2011

Если вы планируете использовать Windows Mobile 6.5 вместе с .NET Compact Framework 3.5 SP1 (в Visual Studio 2008), наиболее распространенным подходом является использование Windows Forms (Compact). Если вы планируете использовать C ++, вы можете проигнорировать остальную часть этого ответа, так как я не уверен, что лучшие практики для C ++.

Windows Forms для .NET CF похожа на полнофункциональную Windows Forms, но гораздо более ограничена по функциональности и готовым инструментам. Для устаревшей платформы Windows Mobile на самом деле нет доступных вариантов WPF / Silverlight / MVVM, но вы можете попробовать развернуть свою собственную структуру типов MVVM, если вы храбры, но, вероятно, я бы не советовал, поскольку MVVM лучше работает с WPF или Silverlight, и могут не отображаться на Windows Forms, а также на другие параметры.

Существует несколько примеров MVC или MVP или базовых фреймворков для .NET CF Windows Forms, но я не видел ни одного, который действительно полнофункциональный. Вы можете попробовать «Фабрику программного обеспечения интеллектуального клиента» для Windows Mobile от команды Patterns & Practices в Microsoft, но я не уверен, что выберу такой путь, поскольку он может быть слишком сложным. Поиск Google для «Windows Mobile MVC или MVP». Часто примеры MVC / MVP показывают только один экран, который не дает вам никакого представления о том, как автор собирается обрабатывать переходы экрана приложения, глобальные события и т. Д.

Я бы, вероятно, предложил шаблон MVP поверх MVC, так как MVP хорошо работает с Windows Forms. MVC может быть немного неудобно с формами, если вы не делаете это очень осторожно. Это лучший пример многоэкранного приложения на Compact Framework, использующего MVP в .NET CF:

https://github.com/derickbailey/appcontroller.cf

Это отличный пример, поскольку он использует современные передовые практики, такие как агрегация событий IoC и UI. Другим преимуществом этого примера является то, что он создает основу для хорошего модульного тестирования и передовых методов разработки пользовательского интерфейса.

...