1

我正在开发用于远程设备管理的应用程序。每个设备都有相同的近两百个参数集。我认为每个设备都将由 DeviceModel 和 DeviceViewModel 类表示。由于设备参数众多,DeviceModel 和 DeviceViewModel 非常繁琐。此外,这么多的 INPC 属性在性能方面可能并不好。

所以。拥有这么多属性的 ViewModel 可以吗?这会对性能产生影响还是可能影响不大?如果不好,有什么方法可以解决这个问题吗?

编辑 为了缩小问题范围(而不是将您与设备管理器混淆),我对其进行了编辑。

4

2 回答 2

1

首先,如果您不愿意(或不能)修改模型的设计,则无法治愈。

也就是说,您可以随心所欲地设计模型。例如,您不必为每个设备创建一个类。

该模型不必反映物理模型(设备和数百个参数),它可以是一种逻辑抽象,可以帮助您和潜在的其他开发人员处理问题域。

尝试识别以某种方式相关的设备参数并将它们分组到一个类中。然后,您可以从“设备”类聚合这些“参数组”类。

此外,不要在模型中包含未使用的参数,它们只会使您的设计混乱并增加维护成本。稍后添加它们应该没问题。

好吧,这是一个广泛的问题......希望这会有所帮助!

于 2013-10-02T09:06:38.223 回答
0

如果您关心的是关于这两个数百个属性的带宽,请为每个属性找到一个默认值,并且不要在传输中包含该属性(序列化)。

这将大大减少每个消息的字节数。

作为旁注,WPF 对每个实例使用类似的方法:每个类都有一个静态字典<property, default value>

于 2013-10-02T11:01:07.517 回答