【发布时间】:2013-04-04 09:50:33
【问题描述】:
我有一个带有方法模板的类:
struct Subject
{
template <typename T>
void doSomething()
{
..
}
};
现在每当doSomething 被调用(任何T)时,我都希望通知“观察者”:
template <typename T>
void onDoSomething()
{
..
}
观察者是一个方法模板很重要(包含方法的类模板也可以工作)。如果不是,我可以实现通用观察者模式。
可以修改Subject::doSomething()以便它调用一个方法。但是,Subject 类不应该“知道”具体的 Observer/observer 方法。
这背后的想法是:我在两个项目中使用Subject。我只需要(并且拥有)其中一个观察者。
有什么办法可以做到吗?
【问题讨论】:
-
我忘了说我不能使用 C++11 的特性。但即使我可以,我也看不出这如何解决我的具体问题?
-
@Philipp 你是对的,它没有帮助。我误解了你的问题。
标签: c++ observer-pattern