2011-01-05 4 views
1

私はRIAサービスを調査しており、何が起こっているのかかなり分かります。しかし、私は、リポジトリ層を呼び出すサービス層のようなRIAサービスを使いたいのであれば、私はIListを返さず、私のメソッドをINVOKEとマークするべきですか?RIAサービス:IQueryableまたはIListを返す必要がありますか? INVOKEとしてマークしますか? (サービスとリポジトリのパターンに従います)

これは私には、標準的なサービスレイヤのリポジトリレイヤコールのようです。リポジトリがIQueryableを返す場所とサービスはIListを返します

私はこれらのパターン(サービスとリポジトリ)に非常に精通していますが、このようなRIAサービスを使いたいと思います。

そうしないと、Silverlightは実際にはIQueryableを返すので常にリポジトリディレクトリを呼び出します。

私の考えは、IQueryableなどを返すriaサービス上に別のレイヤーを作成することですが、これをRepositoryパターンと呼びます。そして、常にIListを返すRia Services(ドメインサービス)メソッドを取得します。これらのメソッドをINVOKEとしてマークして、IQueryableを返す必要はありません。

これは実際にうまくいくと思いますか?本当にあなたが代わりにクエリの呼び出しますを使用する場合は、事前

答えて

2

おかげであなたは、このような正常に動作するようにLoadOperationを必要とする新しいDomainCollectionView、などRIAのクールな機能のいくつかを逃し任意のフィードバックを感謝しています。実際には、メソッドがIListまたはIQueryableを返すかどうかにかかわらず、式の実行は依然としてサーバーに委ねられているため、クライアントの観点からは多分大きな違いはありません。

そうしないと、Silverlightは実際にはIQueryableを返すので常に実際にリポジトリディレクトリを呼び出します。

クライアントはこれを知る必要はないので、どのような違いがありますか?これは、他のリポジトリ/サービスの実装と同様です。クライアントとデータ間の間接的なレベルで、将来のシステム変更時に頭痛を軽減します。

+0

確認のためにmartinさんに感謝します。 – Martin

関連する問題