1

私は、比較的大きなゲームをiPhoneObj-CからプラットフォームニュートラルなC++に移植し始めようとしていました。私たちのゲームではNSNotificationCenter、サーバーからのダウンロードとキャッシュの更新をメニューとゲームアイテムに通知するために頻繁に使用しました。

シングルトンクラスを使用して再作成し、NSNotificationCenter通知を受け取るクラスにNotificationReceiver多重継承を使用して基本クラスを継承させることを考えていました。シングルトンはMap、基本クラスへのポインタの配列を保持する通知名を保持します。通知が送信されると、受信者の基本クラスの仮想メンバーが呼び出され、オーバーライドされる可能性があります。

このタイプの操作のためにC++で使用するより良いデザインパターンはありますか?

これを実装するためのより良い方法はありますか?

4

2 に答える 2

1

これを実装するためのより良い方法はありますか?

はい-次の例を使用する場合、特定のインターフェースの継承を強制する必要はありません。

また、通知センターの単一インスタンスだけが必要な場合は、シングルトンである必要はないことにも注意してください。

于 2012-07-08T16:32:19.320 に答える
1

前述のboostパッケージに加えて、別のオプションがありpoco::NotificationCenterます。

この実装は、Pocoのドキュメントで具体的に説明されているように、Cocoa通知フレームワークに近いものです。

NotificationCenterクラスは、基本的に、AppleのCocoa(またはOpenStep)にあるNSNotificationCenterクラスのC++実装です。

于 2015-02-06T14:19:36.173 に答える