【发布时间】:2014-08-23 04:15:24
【问题描述】:
我有兴趣了解其他人如何设计他们的软件。我在不同的项目中使用了不同的解决方案,但我觉得我可以做得更好。我的实现涉及到使用委托和观察者,但今天我忍不住问你如何编写它。
假设我们有以下内容:
class Sensor
{
...
public:
void sensorTriggered();
};
Class Device
{
...
public:
void notifyChangesFromHardware(unsigned int inNotificationInfo);
protected:
Sensor *fireAlarm_;
};
int main()
{
Device someDevice;
return 0;
}
如果你想调用“Device::notifyChangesFromHardware”,你会如何设计? 来自传感器对象 (fireAlarm_)?
谢谢
【问题讨论】:
-
Boost.Signals2: boost.org/doc/libs/1_56_0/doc/html/signals2.html 怎么样?
-
@PiotrS。是的,我认为这也行!
-
来自 Qt 的信号和插槽。
标签: c++ design-patterns delegates