WPF и буфер протокола: они подходят друг другу - PullRequest
1 голос
/ 30 ноября 2011

Мне интересно, что было бы лучшим подходом в приложении на основе WPF (возможно, MVVM), где обмен данными с удаленными устройствами осуществляется через буферы протокола (если это удобно).

WPF - этов значительной степени основанный на наблюдаемости, а также изменчивости базовой модели / модели представления с интерфейсами DP и INotify *.Борется ли он с подходом протокола / буфера создания / изменения POCO?

Типичный контекст - наличие клиентского приложения WPF, подключенного через TCP / IP к встроенному устройству под управлением Linux.По сути, я оцениваю плюсы и минусы нескольких решений, чтобы найти лучшее.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 30 ноября 2011

WPF не должен иметь никакого отношения к этому, потому что ваш обмен данными должен быть разделен на отдельный, независимый от пользовательского интерфейса уровень.Ваш сервисный уровень может возвращать не-GPB объекты при необходимости (или возвращает интерфейсы, которые ваши GPB-объекты реализуют через частичные классы), а уровень модели представления обеспечивает еще один уровень изоляции.

0 голосов
/ 30 ноября 2011

Ваши ключевые моменты, похоже, касаются изменчивости и наблюдаемости.

API Protobuf от Google действительно в значительной степени неизменен и не очень любит WPF;тем не менее, вы также упоминаете protobuf-net, который является , а не этим шаблоном, и принимает вместо этого стандартные идиомы .NET.

Модель protobuf-net может быть любой стандартной моделью, которую вы хотите.Если вы хотите, чтобы он имел события уведомления ... есть события уведомления.Это не будет возражать.Я не могу вспомнить 100%, но если вы работаете с файлом .proto, я полагаю, есть переключатель, чтобы автоматически кодировать события уведомлений, но .proto совершенно не обязателен для protobuf-net.

Выходные данные protobuf-net должны быть полностью взаимозаменяемыми с любой другой реализацией для вашего устройства linux.Один из вариантов - Mono / protobuf-net, но вы также можете использовать «стандартные» реализации.

...