Каковы лучшие практики для оптимальной производительности в Silverlight и MVVM - PullRequest
0 голосов
/ 04 февраля 2012

У меня есть много нормализованных таблиц - их может быть больше 50 ... Мне было интересно, каков наилучший подход для определения ViewModels - индивидуальной ViewModel для каждой формы или создания Common ViewModel для нескольких форм. Поскольку создание отдельных форм может увеличить размер данных, которые необходимо загрузить, и это может увеличить избыточность данных на клиенте. то есть использование категории в каждой форме имеет различный набор данных для каждой из них. и на другой стороне создание общей модели представления для набора форм может увеличить сложность в управлении вещами.

Есть ли подходящая статья, описывающая такой аспект развития. Каковы оптимальные методы управления приложением в целом, чтобы обеспечить оптимальную производительность. (Получение минимальных данных с сервера)

Спасибо за ваше время и помощь.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2012

Обычно вы хотите создать модель вида для каждого вида. Если два представления отображают одни и те же данные и позволяют пользователю выполнять одинаковые действия, но отличаются только реализацией пользовательского интерфейса, тогда они могут совместно использовать модель представления, но цель состоит в том, чтобы сохранить ваши модели представления связными. Если ваши модели представлений содержат код для работы с несколькими представлениями, вы рискуете реализовать антишаблон «Объект Бога». Если вы обнаружите, что все ваши модели просмотра совместно используют определенный объем общего кода, рассмотрите возможность перемещения этого кода в общий базовый класс.

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

Я очень рекомендую прочитать Pro WPF и Silverlight MVVM от Гэри Холла. Это отличная книга для начала работы с MVVM, особенно для использования с WPF и / или Silverlight.

0 голосов
/ 07 февраля 2012

Количество просмотров и моделей увеличит размер вашего XAP файла, который загружается полностью при открытии, это может быть сжатый .Фактическая производительность во время использования отличается и зависит от других факторов, попробуйте использовать SilverlightSpy , чтобы получить представление о реальной производительности браузера.Можно загружать части вашего приложения Silverlight по мере необходимости, но это продвинутый метод.

Если обмен сообщениями является вашей главной задачей, то проверьте Двоичные сообщения .

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

...