Последующие из this начальные исследования архитектур Silverlight, у меня есть некоторые новые требования к рассмотрению.Модель дизайна Silverlight для производительности - очень богатый пользовательский интерфейс клиента
Мы ожидаем, что наш клиентский интерфейс Silverlight будет графически тяжелым, с интерфейсом GIS, множеством графиков, датчиков и датаглайдов, расположенных в стиле виджета. Пользователь будет динамически создавать новые виджеты.
Предположим, пользователь хочет динамически создавать виджет диаграммы из существующего виджета datagrid, предварительно заполненного данными. Мне кажется, что если бы мы использовали шаблон MVVM с моделью просмотра на сервере, это привело бы к ненужному возврату домой, когда требуемые данные уже находятся в клиенте.
Теперь очевидно, что сервер должен знать об этом новом виджетах диаграммы на клиенте, но как мне сначала создать виджет в клиенте (с существующими данными на стороне клиента), а затем сообщить серверу о новых изменениях?
В нашей интрасети сетевая связь между клиентом и сервером не особенно хороша, поэтому производительность имеет решающее значение.
По моим первоначальным исследованиям, общие шаблоны архитектуры Silverlight требуют, чтобы большая часть бизнес-логики была отброшена на сервер. Я понимаю причины этого, но боюсь, что это действительно повредит удобству использования нашего приложения.
Существуют ли особые шаблоны проектирования, которые решают эту проблему? Поддерживается ли это «привязка клиента» в MVVM, Prism или других общих архитектурах Silverlight?
Есть ли более формальное название для того, что я пытаюсь описать?
Я совершенно новичок как в Silverlight, так и в шаблонах проектирования, таких как MVVM, поэтому, пожалуйста, исправьте меня, если какое-либо из моих предположений неверно.
Похоже, вам нужно несколько исследований конкретных случаев. Один момент, который я имею, заключается в том, что «обычные шаблоны архитектуры Silverlight требуют, чтобы большая часть бизнес-логики была отброшена на сервер» неверна и побеждает дополнительные возможности, которые у вас есть с Silverlight. Вы можете использовать более мощную логику проверки на клиенте, чтобы сохранить обратные вызовы, которые вы обычно используете с AJAX. – sipwiz
@sipwiz: Действительно, я рад ошибиться в этом. Я смущен тем, как лучше всего определять модель как на стороне клиента, так и на стороне сервера. Некоторые тематические исследования будут приветствоваться. – Alex
Что я нашел, так это то, что Silverlight позволяет делать то же самое на сервере или на клиенте. Он позволяет вам выбирать, какой вы предпочитаете. Например, проверка может быть выполнена на сервере или на клиенте. – johnnywhoop