0

すべてのブロッキング操作を対応する非同期操作に変換するために、コードの一部でリファクタリングを行っています。私のコードはC#であり、UPnPクエリに続いてHTTPクエリを実行しています。このために、UdpClientとWebClientのAPMメソッド(BeginReceiveなど)を使用します。

私の単一のメソッドは、Call_1-> Callback_1->Call_2->Callback_2などの連続です。

Call_1を除くすべてが私のクラスインターフェイスの一部ではないことを知っている誰かが、その状況でメソッドに付けられるべき名前に関するいくつかのガイドラインを私に指摘できますか?Callback_1、Call_2などのメソッドは、実際にはワークフローの非同期化の単なる副作用です。どのような命名法を使用しますか?

CCRを使用すると、yieldキーワードを使用すると、すべてが1つのきれいなメソッドにとどまりますが、残念ながら、今のところCCRは使用しません。

4

1 に答える 1

0

コードの意図をクライアント コードに表現するために、非同期動作を行うすべてのメソッドの前にrun. 例:runSOQueryなどrunDiskCheck

たぶんばかげているかもしれfireAndForgetませんが、クライアントコードにとってさらに明確になる可能性がありますが、あなたの質問を正しく理解したかどうかはわかりません...

Java の場合は java.util.concurrent.Future のような特別な return value を返すことで、メソッドの非同期セマンティクスを表現するのが最善の方法かもしれません。.

于 2009-12-10T02:59:58.023 に答える