3

もちろん状況にもよります。しかし、下位レベルのオブジェクトまたはシステムが上位レベルのシステムと通信する場合、上位レベルのオブジェクトへのポインターを保持するよりも、コールバックまたはイベントを優先する必要がありますか?

たとえば、ゲームに取り組んでいる場合world class、メンバー変数を持つ がありますvector<monster> monstersmonster classが と通信する場合world class、コールバック関数を使用する方がよいですか、それともモンスター クラス内のワールド クラスへのポインタを使用する必要がありますか?

4

1 に答える 1

6

一般に、コールバックを使用して、言及した理由からより高いレベルのクラスと通信し、相互/循環依存を回避することをお勧めします。

あなたの場合、下位レベルのモジュールを定義する必要があります。世界は本当にモンスターが何であるかを知る必要がありますか? モンスターはただのクリーチャーか相手じゃないの?モンスターが活動するためには、何らかの環境が必要ではないですか?実行可能な解決策にたどり着くためにそれに答えることができるのはあなただけです。

于 2011-02-22T11:58:53.287 に答える