4

PRISM アーキテクチャに WPF アプリケーションがあります。

ネットで読んだことから、ビューモデルが WCF サービス操作をASYNC方式で呼び出すのが最善であり、操作ごとに新しい接続を作成するのが最善であることがわかりました。(接続を長時間維持するのは良くないと言われました)。

私の質問は、WCF クライアントを View-Model にどのように挿入すればよいですか?

「自動生成」クライアントのインターフェイスを作成し、インターフェイスを注入すると、View-Model コンストラクターでクライアントのインスタンスが作成されるだけですが、新しいクライアントを作成する場合は役に立ちません。ウィンドウで実行する操作ごとに。

そのためには、注入する「クライアント ファクトリ」のようなものが必要です。

誰でもこれについて彼の意見を提供できますか?

4

1 に答える 1

0

まず、IMVHO WCF 呼び出しは、ViewModel ではなく、Model で行うのが最適です。

ファクトリ ヘルパー クラスを作成し、それにインターフェイスを渡すと、そのインターフェイスを実装する具体的なインスタンスが返されます。ファクトリ ヘルパーは引き続き PRISM を使用してインターフェイスを具象型に解決できます。型は、登録したものを解決し、ライフタイム マネージャーに登録していなければ、毎回新しいインスタンスを取得します。

ファクトリ ヘルパー内で PRISM を使用すると、全体を高度に単体テスト可能に保つことができます。テスト時に WCF 関連のプロキシ クラスをモック アウトすることができ、ターゲット モデルは違いを認識しません。本当に依存性注入パターンに従いたい場合は、コンストラクターにファクトリー ヘルパーを注入できます。

于 2012-07-22T09:33:55.720 に答える