我有一个方法模板类:实施了“静态观察者模式”
struct Subject
{
template <typename T>
void doSomething()
{
..
}
};
现在,每当doSomething
被称为(与任何T
)我想有一个“观察者”通知:
template <typename T>
void onDoSomething()
{
..
}
重要的是观察者是一个方法模板(包含方法的类模板也可以)。如果不是这样,我可以实现常见的观察者模式。
可以修改Subject::doSomething()
以便调用方法。但是,类Subject
不应“知道”具体的Observer/observer方法。
这背后的想法是:我在两个项目中使用Subject
。我只需要其中一个观察员(并且有)。
有什么办法可以达到这个目的吗?
我忘了提及我不能使用C++ 11功能。但即使我能做到,我也不明白这是如何解决我的具体问题的? – Philipp 2013-04-04 10:08:52
@Philipp你是对的,它没有帮助。我误解了你的问题。 – juanchopanza 2013-04-04 10:20:53