我想知道在基于WPF (可能是MVVM)的应用程序中,最好的方法是什么,其中与远程设备的数据交换是通过Protocol-buffers进行的(如果方便的话)。
WPF在很大程度上基于可观察性,以及底层模型/视图模型的可变性,以及DPs和INotify*接口。它是在与创建/变异POCO的协议缓冲区方法作斗争吗?
典型的环境是有一个WPF客户端应用程序,通过TCP/IP连接到运行Linux的嵌入式设备。基本上,我正在评估几种解决方案的优缺点,以便找出最好的解决方案。
提前谢谢你。
发布于 2011-11-30 22:25:01
你的关键点似乎是关于可变性和可观察性的。
google protobuf API确实在很大程度上是不变的,不会非常喜欢WPF;但是,您也提到了protobuf-net,它不是那种模式,而是采用标准的.NET习惯用法。
protobuf-net模型可以是您想要的任何标准模型。如果你想让它有通知事件...有通知事件。它不会介意的。我不是100%记得,但如果你正在使用一个.proto文件,我相信有一个必须自动编码添加通知事件的开关,但是.proto对于protobuf-net来说是完全可选的。
protobuf-net的输出应该可以与linux设备的任何其他实现完全互换。一种选择是Mono/protobuf-net,但你也可以使用“标准”实现。
发布于 2011-11-30 21:52:32
WPF应该与此无关,因为您的数据交换应该分离到一个独立的、与UI无关的层中。如有必要,您的服务层可以返回非GPB对象(或者返回GPB对象通过分部类实现的接口),而视图模型层则提供另一层隔离层。
https://stackoverflow.com/questions/8325666
复制相似问题