我有一個方法模板類:實施了「靜態觀察者模式」
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