まもなく開始されるプロジェクトのためにいくつかの調査を行っており、ここでどのようなオプションがあるかについて意見を求めています。
基本的に、これは多かれ少なかれそれがどのように機能するかです: ユーザーは、多角形のような特定の形状を描画し、形状の位置などのさまざまなプロパティに基づいて描画できる必要があります。サーバー側で計算が実行され、結果が得られます。クライアントに返送されます。
図形 (円、多角形、線など) のクラス表現と必要なすべての計算を含む .NET クラス ライブラリがあります。ユーザーはログインして作業を保存し、別の時点でそれをロードして続行できる必要があるため、これはすべてプロジェクト クラスにまとめられ、データベースにシリアル化されます。
すべての描画は HTML5 Canvas と JavaScript を使用してクライアントで実行する必要があり、計算などのビジネス ロジックはサーバー サイドで実行されます。ここで解決する必要がある問題は、クライアントとサーバー間の双方向通信と複雑な (ポリモーフィック) オブジェクトの共有です。冗長コードで。
考えられる解決策の 1 つは、クラスを JSON にシリアライズおよびデシリアライズすることです。ただし、クラスにはかなりの量のデータが含まれており (そのほとんどはクライアントにとって重要ではありません)、大量のデータがやり取りされます。これは、DTO クラスを使用して解決できますが、共通の情報を含む 2 つのクラスを持つことになります。
ここで使用する他のソリューション/テクニックはありますか? この種の問題を経験したことのある人はいますか?
前もって感謝します。