0

さまざまな Web サービスへの多くの呼び出しを含むカスケード アプリケーションを作成しようとしています。メインの Application クラスではこれで問題なく動作していますが、別のクラス (場合によっては Services Manager クラス) を呼び出して、サービス呼び出しが処理されたときに、呼び出し元の Application クラスに値を返すようにしたいと考えています。 Services Manager クラスによって、完了しました。

これは良いデザインですか?これは私が Java で取るルートですが、C++ と QT はまったく初めてです。エミットとシグナルのプロセスを使用して、この機能を生成することはできますか?

ありがとう

4

1 に答える 1

0

はい、あなたの質問を正しく読めば。

ServicesManager クラスがシグナル/スロットを介して Application クラスと通信することは完全に合理的です。これらが異なるスレッドで実行されているように聞こえますが、Qt シグナル/スロットでは問題ありません。また、シグナル クラスをサブクラス化して、カスタム ペイロードを送信することもできます (または、受信者に「完了しました。結果を問い合わせてください」と伝えます)。

非同期が必要な場合は、次のかなり良い説明をご覧ください。

スレッド全体の Qt シグナル/スロット

于 2012-10-17T21:45:56.313 に答える