2010-06-03 3 views
3

Прежде всего, я должен сказать, что я новичок в wpf и mvvm. Я хочу разработать клиент-серверное приложение (клиенты отправляют информацию на сервер, а serer уведомляет об этом один или несколько из них .. см. Что-то вроде yahoo messenger (какой-то пользователь меняет свой статус ... передает информацию на сервер, а сервер уведомляет об этом его друзья и изменения в их пользовательском интерфейсе) Мой вопрос: хорошо ли подходит mvvm с таким видом приложений?wpf mvvm client server application

ответ

2

Короткий ответ: да. MVVM был бы удобен здесь. Всегда удобно, когда дело доходит до связывания интерфейса к модели.

В вашем случае клиент может иметь класс обслуживания, который слушает ваш сервер. Каждый раз, когда он получает сообщение, он вызывает событие (это может быть событие посредничества, стандартное событие и т. д.). ViewModel прослушивает к этому событию и обновлению соответственно.

Cheers, Анвака.

1

Да, вы можете применить MVVM для структурирования клиентской стороны приложения.

Слой модели будет состоять из интерфейса веб-сервисов (WCF - наиболее распространенный способ сделать это) для удаленных методов. Часть модели просмотра подготовит данные, поступающие от модели, отображаемой пользовательским интерфейсом и отправляет уведомления.

Основная проблема - уведомить всех ваших клиентов о некоторых изменениях. Лучший способ - использовать постоянное соединение между вашими клиентами и сервером, чтобы сервер мог «нажимать» уведомления клиентам, что не всегда может быть возможным решением. Другим решением, более тяжелым, но более стандартным, является использование опроса: ваши клиенты будут регулярно (каждые 5 секунд, например) спрашивают сервер, если некоторые уведомления доступны и обновляют их интерфейсы, если это так.

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