在C++中實現.NET風格的委託-開發者網路-C++-天極Yesky
CALLBACKS IN C++ USING TEMPLATE FUNCTORS
http://www.codeproject.com/cpp/#Delegates
A new way to implement Delegate in C++
最近為了一些原因,又得重新再檢視一次Design Pattern。
大多的Patterns我已經是滾瓜爛熟的.... 但是說真的每一個Pattern都有在用嗎?
其實我也覺得沒那麼常用~~ 有些Pattern知道十分強大,但是實作起來就沒那麼方便 或是真的很麻煩....
這次又重看一次Observer...... 很常見的Pattern,但是C++ implement起來就是得繼承來繼承去
但是近一年來我都是用C#,我用C#的event/delegant可以很輕易的不用繼承解決Observer的東西
於是我重回到C++思考..... 想到之前有人跟我說functor的概念~~~ 我一直以為就是function object
就是在STL裡 能夠customize 不用演算法的行為~~ 這樣的作法已經很厲害了....
沒想到Functor的確可以實現出類似C# event/delegant的概念~~~
所以貼上來給大家參考一下 :-)
(第二篇是1994年寫的.....也太神奇了~~ 那些code VC6有辦法compile嗎? 我到2007才準備開始用..)
沒有留言:
張貼留言