2012-05-31 113 views
0

什麼是使用觀測與就像剛註冊回調的利弊:觀察與註冊回調

worker.setOnJobIsDone(func); 
+0

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

回答

1

如果使用函數指針,對象完全不知道它的用戶;它只是調用一個函數,它允許更大的靈活性(用戶並不需要繼承什麼,只要你喜歡你就可以將這個對象的用戶)。

觀察者模式要求您定義一個接口。這不夠靈活,但更明確。

爲了便於閱讀,我更喜歡觀察者模式;如果您以前從未見過代碼,那麼跟蹤工作流程就容易得多。此外,用於傳遞成員函數的C++語法在眼中很難。