我有一个带有方法模板的类:
struct Subject
{
template <typename T>
void doSomething()
{
..
}
};
现在,无论何时doSomething
(使用 any T
),我都希望通知“观察者”:
template <typename T>
void onDoSomething()
{
..
}
观察者是一个方法模板很重要(包含方法的类模板也可以工作)。如果不是,我可以实现通用观察者模式。
可以修改Subject::doSomething()
,以便它调用一个方法。但是,该类Subject
不应该“知道”具体的观察者/观察者方法。
这背后的想法是:我Subject
在两个项目中使用。我只需要(并且拥有)其中一个观察者。
有什么办法可以做到这一点?