0

.NET WCF Web サービスを呼び出す .NET WPF スマート クライアントがあります。Web サービスはほとんどの作業を行い、少量の情報をクライアントに返します。そのため、ブラウザとまったく違うわけではありません。

クライアントは Web サービスを呼び出し、その時点で Web サービスは何らかの作業を行い、「結果」オブジェクトを返します。物事は複雑になりつつあります。これは、私が CQS を適用していないためだと思います (この時点では、CQRS ではなく CQS について話していることに注意してください)。物事をリファクタリングして簡素化し、CQS を取り入れたいと思います。そうするために、この時点で WCF コントラクトを喜んで変更できます。

ただし、これは、クライアント アプリケーションが「コマンド メッセージを送信」し​​ (つまり、Web サービスでコマンド メソッドを呼び出す)、その後、次に何をすべきかを「クエリ」する (同じ Web サービスで別のメソッドを呼び出す) ことを示唆しています。 . これは不必要だと思います。request/response-style は非常に一般的なスタイル (ブラウザーのことを考えてください) であり、考えてみると、技術的に CQS を破っています。私の場合、Web サービス内で操作を提供し、CQS に従っている場合、2 つの間の実際の Web サービス呼び出しについてシステムを少しごまかしても大丈夫だと思います。

これは受け入れられますか?

4

1 に答える 1

0

コーディング設計の決定は非常に主観的なものであり、アプリケーション全体に利益をもたらす厳格な基準に従わなくても、誰もあなたを非難することはありません.

CQS (Command Query Separation) は、返されるオブジェクトが正しいことをより確信できるので便利です。これは、メモリ内のオブジェクトにアクセスする場合はうまく機能しますが、要求/応答スタイルのシステムでは、かなりおしゃべりになります (すでに非常におしゃべりなプロトコルに加えて)。

システムが同じ LAN 上にある場合は、CQS を使用します。ただし、インターウェブ経由でこれにアクセスしている場合、またはより高速なパフォーマンスが必要な場合は、通常の要求/応答パターンを使用してください。

于 2011-12-05T18:14:22.557 に答える