title: Moving NSNotificationCenter Design Pattern to C++ for porting?
body: <p>I was about to begin porting a relatively large game from iPhone Obj-C to a platform neutral C++. In our game, we made heavy use of the <code>NSNotificationCenter</code> for notifying menus and game items of downloads and cache updates from our server.</p>
  
  <p>I was thinking of re-creating the <code>NSNotificationCenter</code> using a singleton class and then having any class which would receive notifications inherit a <code>NotificationReceiver</code> base class using multi-inheritance. The singleton would keep a <code>Map</code> of notification names that would keep an array of pointers to the base class. When the notification is sent, it would then call a virtual member in the base class of the receivers which could be overridden.</p>
  
  <p>Is there a better design pattern to use in C++ for this type of operation?</p>
  
  <p>Would there be a better way to implement this?</p>