我正在开发远程设备管理应用程序。每个设备具有近200个参数的相等集合。我认为每个设备都将由DeviceModel和DeviceViewModel类表示。由于大量设备参数,DeviceModel和DeviceViewModel非常麻烦。此外,这样的INPC特性在性能方面可能并不好。
因此。让ViewModel具有如此多的属性是可以的吗?这会对性能产生影响还是可能不是那么多?如果它不好,有没有办法解决这个问题?
修改 为了缩小问题范围(而不是让你与设备管理员混淆)我编辑了它。
答案 0 :(得分:1)
首先,如果您不愿意(或不能)修改模型的设计,则无法治愈。
也就是说,您可以随意设计您的模型。例如,您不必为每个设备创建一个类。
模型不必反映物理模型(设备和数百个参数),它可以是一个逻辑抽象,可以帮助您和其他开发人员处理问题域。
尝试识别以某种方式相关的设备参数,并将它们分组到一个类中。然后,您可以从“设备”类聚合这些“参数组”类。
此外,不要在模型中包含未使用的参数,它们只会使您的设计混乱并增加维护成本。稍后添加它们应该没问题。
嗯,这是一个广泛的问题......希望这有帮助!
答案 1 :(得分:0)
如果您担心的是有关两百个属性的带宽,则会找到每个属性的默认值,并且不在传输(序列化)中包含该属性。
这将大大减少每个消息字节数。
作为旁注,WPF对每个实例使用类似的方法:每个类都有一个<property, default value>
的静态字典