質問

モデル関連の概念については、本当に良い説明が必要だと思います。

  1. 一般に、ロボトレッグのようなフレームワークで説明されているように、モデルはアプリケーション状態保有者またはドメインステートホルダーの役割を果たしますか?私はもともと、モデルは完全にドメインベースであると考えていました。つまり、DAOクラスがサーバーで果たすのと同じ役割を果たしているLocationModel、つまりUsermodelです。しかし、私が見ているソースコードが多いほど、ドメイン状態ではなく、クライアントアプリケーションの状態に関連するプロパティとメソッドがいっぱいのユーザーAccountModel、ShoppingCartModelなどのようなものが増えています。

  2. 人々はVOクラスに複雑な関係を追加することを気にしないことがわかります。つまり、ユーザーがたくさんの写真を持っている場合、写真のコレクションは明らかにUservoクラスから省略されています。代わりに、ユーザーIDとのサービスコールに基づいて、必要なときに、多くのPhotovoオブジェクトがサーバーからロードされます。それはある種の経験則なのでしょうか?一般的に、VOSを可能な限り「裸」として保持するのでしょうか?すべてのデータを取得するためにサーバーに行わなければならない呼び出しの数を増やしませんか?さらに、それは一般的にドメインモデルを断片化しませんか? (サーバー上のエンティティユーザークラスには、常に写真プロパティがあります)

  3. サーバーへの非常に多くの呼び出しがあるため、クライアントストレージに既にある可能性のあるオブジェクトを取得することは普通です。クライアント側のキャッシュを作成し、フェッチされるオブジェクトがすでにそこにあるかどうかを確認することは理にかなっていますか、それとも一般的に、それをもう一度取得するオーバーヘッドは、完全に同期したオブジェクトを取得するという利点によって返済されますサーバーから。それ以外の場合、クライアント側のキャッシュに保存されているすべてのオブジェクトは、変更が発生したときに世話をする必要があります。私は個人的に、以前にピックアップされていたかもしれないサーバーからオブジェクトを取得するオーバーヘッドはそれほど大きくないと思います。新鮮で同期したデータを持っている方が良いと思います。

役に立ちましたか?

解決

答えの多くは「依存している」ので、あなたの質問が答えられるとは思わない。これは、構築するアプリケーションとUIのニーズに依存します。

「ドメイン状態」と「アプリケーション状態」の違いを本当に理解していません。ただし、UIに実装されている「バリューオブジェクト」スタイルクラスは、特定のビューの状態を保持することに焦点を当てる必要があると思います。単一のビューがデータベーステーブルとの1対1の関係であることは非常にまれです。そのため、私のUIデータオブジェクトは、サーバーサイドデータオブジェクトと同一ではない場合があります。ただし、UIオブジェクトをAMFを使用してサーバーサイドオブジェクトにマッピングすることが非常に一般的です。ただし、UI内のすべてのオブジェクトがサーバー側に実装され、すべてのサーバーオブジェクトがUIに実装されていることを意味するものではありません。

私は人々がVOクラスに複雑な関係を追加することを気にしないことがわかります、

あなたがそれをどこで見るのかわかりません。私はしばしばまさにこれをします。ただし、ビューが表示されるはずです。ビューがユーザーに関連する多くの写真を表示していない場合、すべての写真でユーザー情報を取得するためのリモートコールを行いません。

サーバーへの非常に多くの呼び出しがあるため、クライアントストレージに既にある可能性のあるオブジェクトを取得することは普通です。

場合によります。私が書いたアプリ、サーバーへの呼び出しは必要に応じて行われていると思います。必要に応じてそれらを制限する試みが行われます。すでにデータを取得してクライアントにキャッシュしている場合は、データを再度取得するのではなく、そのキャッシュを使用しようとします。

私は元の評価を言い換えます:あなたの質問のほとんどに対する答えは状況に依存し、アプリに依存すると思います。あなたは、物事がどのように行われるかについて、過度に広い一般化から始めているようです。しかし、私はそれらが普遍的な真実であるとは思わない。アプリケーションアーキテクチャに関する開発者の戦いは常に問題です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top