1

リモートデバイス管理用のアプリケーションに取り組んでいます。各デバイスには、ほぼ 200 個のパラメーターの同等のセットがあります。各デバイスは、DeviceModel および DeviceViewModel クラスによって表されると思います。多数のデバイス パラメータがあるため、DeviceModel と DeviceViewModel は非常に扱いにくくなっています。それに、これだけの数の INPC プロパティは、パフォーマンスの点でおそらく良くありません。

そう。非常に多くのプロパティを持つ ViewModel を使用しても問題ありませんか? これはパフォーマンスに影響を与えますか、それともそれほどではないでしょうか? 良くない場合、この問題を解決する方法はありますか?

編集 質問を絞り込むために (デバイス マネージャーと混同しないように)、編集しました。

4

2 に答える 2

1

まず第一に、モデルの設計を変更したくない (または変更できない) 場合、解決策はありません。

とはいえ、好きなようにモデルを設計できます。たとえば、デバイスごとにクラスを作成する必要はありません。

モデルは物理モデル (デバイスと数百のパラメーター) を反映する必要はありません。それは、あなたや他の開発者が問題のドメインに対処するのに役立つ論理的な抽象化である可能性があります。

何らかの形で関連しているデバイスのパラメータを特定し、それらをクラスにグループ化してみてください。次に、これらの「パラメータ グループ」クラスを「デバイス」クラスから集約できます。

また、未使用のパラメータをモデルに含めないでください。設計が煩雑になり、メンテナンス コストが増加するだけです。後で追加しても問題ありません。

まあ、それは幅広い質問でした...これが役に立てば幸いです!

于 2013-10-02T09:06:38.223 に答える
0

200 のプロパティに関する帯域幅が懸念される場合は、各プロパティのデフォルト値を見つけて、そのプロパティをトランスポート (シリアル化) に含めないでください。

これにより、各メッセージのバイト数が大幅に削減されます。

補足として、WPF は各インスタンスに対して同様のアプローチを使用します。各クラスには次の静的辞書があります。<property, default value>

于 2013-10-02T11:01:07.517 に答える