2012-05-31 80 views
0

什么是使用观测与就像刚注册回调的利弊:观察与注册回调

worker.setOnJobIsDone(func); 
+0

可能的复制 http://stackoverflow.com/questions/8951276/callback-command-vs-eventlistener-observer-pattern – Anand

回答

1

如果使用函数指针,对象完全不知道它的用户;它只是调用一个函数,它允许更大的灵活性(用户并不需要继承什么,只要你喜欢你就可以将这个对象的用户)。

观察者模式要求您定义一个接口。这不够灵活,但更明确。

为了便于阅读,我更喜欢观察者模式;如果您以前从未见过代码,那么跟踪工作流程就容易得多。此外,用于传递成员函数的C++语法在眼中很难。