まずは、私の悪い英語を申し訳ありません! 多くのSilverlightチュートリアルでは、次のように表示されています。Silverlightのモデルマッピングとリポジトリパターンに関する質問
たとえば、Productなどのサーバー側にモデルがあります。 WebサービスにはメソッドIlist GetProducts()があります。 サービス参照を追加するときに生成されるクライアント側のProductクラス。次に、このProductモデルをviewmodelsとxamlで使用します。 しかし、 "名前"プロパティが "NameProperty"になるか、誰かがWebサービスを他のものに変更しようとすると、誰かがサーバー側または製品モデルの変更を変更するとどうなりますか? Productプロキシクラスもクライアント側で変更され、次にProductクラスを使用するビューモデルとバインディングなどを「リフレッシュする」必要があります。
このソリューションについては何?:
のSilverlight側で私はのviewmodelsとXAMLを使用するすべてのプロパティを含むIProductインターフェースを、持っています。 IList GetProducts()メソッドを持つIRepositoryインターフェイスを作成します。私はwcfサービスからデータを取得するWCFRepositoryのようなこのインタフェースを実装します。 GetProductメソッドの実装は、すべての製品をIProductの実装にマップします。IProductの実装にプロパティをコピーするだけです。したがって、サーバー側の製品が変更されたときは、WCFRepositoryのマッピングを変更するだけで済みます。また、WCFサービスを他のサービスに変更した場合、GetResositoryを記述し、GetProductsメソッドの実装でマッピングを作成するだけで済みます。 このソリューションでは、ビューとビューモデルは変更されません。
私のソリューションはどうですか?私は正しい方向に行くつもりですか?これについての良いサンプル、チュートリアル、パターンはありますか?どんなキーワードも良いでしょう! :)ありがとう!