2011-07-23 14 views
3

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

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

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

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

+1

「ドメインの状態」とはどういう意味ですか? –

答えて

2

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

"ドメインの状態"と "アプリケーションの状態"の区別がわかりません。しかし、私は、UIに実装されているすべての "値オブジェクト"スタイルクラスは、特定のビューの状態を保持することに焦点を当てるべきだと考えています。 1つのビューがデータベース表と1対1の関係にあることは非常にまれです。したがって、私のUIデータオブジェクトは、サーバー側のデータオブジェクトと同一ではないかもしれません。 AMFを使用してUIオブジェクトをサーバー側のオブジェクトにマップするのは非常に一般的ですが、しかし、UIのすべてのオブジェクトがサーバー側に実装され、すべてのサーバーオブジェクトがUIに実装されているわけではありません。

私はあなたがそれを見るところ、私はよく分からない

、人々はVOクラスを する複雑な関係を追加するために気にしないことを確認。私はしばしばこれを正確に行うでしょう。ただし、ビューが表示する内容によって異なります。ビューにユーザーに関する多くの写真が表示されていない場合は、すべての写真を含むユーザー情報を取得するためのリモート呼び出しは行いません。

サーバーへの呼び出しが非常に多いため、既にクライアントストレージにあるオブジェクト をフェッチするのが普通です。

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

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

関連する問題