Re: [請益] 請問學哪個比較實用
※ 引述《Smurf (哈里歐)》之銘言:
: 我表達能力不夠好 讓大大誤會了 想學C++是因為我想知道封裝的實作細節
: 例如Java的ArrayList其實就是先預設一個size
: 超過這個size要重新配置 所以元素太多時用ArrayList效能會降低
: LinkedList的實做就是Double Linked List資料結構 要用哪個視情況而定
你還是沒看懂我在說什麼。想知道封裝的細節跟想學C++有什麼絕對的關連?請自行
搜尋一下天●書局的網站,看看那些以資料結構為主題的書是不是都只用C++。
再強調一次,就資料結構或演算法而言,學哪種語言根本不是重點。如果一開始就被
語言綁住,就會像我一個學弟先前鬧出的笑話:「我學的是Python,我沒辦法寫鍊結串列
耶。」永遠只繞著「某某function或operator要怎麼用」之類的問題打轉,至於真正要學
的資料結構呢?演算法呢?早就不知道被拋到哪去了吧。
: delegate是從Observer Pattern演變而來
: 把Observer Pattern的通知者和觀察者耦和消除 用哪個也是視情況而定
這是題外話。Observer Pattern是delegate或傳統function point的應用之一,我實
在看不懂為什麼你會認為delegate是從Observer Pattern演變而來的。上一篇回覆會跟你
提到function point就是因為C#的delegate是基於安全性考量而把它封裝成類別的產物,
所有自訂的delegate都是它的衍生類別,C#本身並不存在獨立的function point。
: 演算法我涉獵的比較少
: 只知道複雜度的算法 用排序和Divide&Conquer增進程式效能
: 分析法和Dynamic Programming和其他的方法我還不太會實做 我覺得很難 可能我比較
: 學Windows programming是因為想知道OS層的東西
不知所云。
--
「我從來都不喜歡 MFC,從一開始就不喜歡,我認為它的設計不良,
且幾乎不能算是物件導向。」
- Charles Petzold
http://reassert.blogspot.com http://iyoyo.info/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.41.81
推
02/19 15:18, , 1F
02/19 15:18, 1F
→
02/19 16:13, , 2F
02/19 16:13, 2F
沒錯,但是「delegate是從observer pattern演變而來」這種說法絕對會讓人笑掉大
牙。delegate確實可以拿來實作這玩意兒,但不表示delegate是因它而誕生的。
→
02/19 16:25, , 3F
02/19 16:25, 3F
→
02/19 16:25, , 4F
02/19 16:25, 4F
http://msdn.microsoft.com/zh-tw/library/system.delegate.aspx
注意事項下方的第一段:「當委派表示在其第一個引數上關閉的執行個體方法時(最
常見的案例),委派會儲存方法進入點(Entry Point)的參考和物件的參考」
事實上在我眼中無論是function point、method reference、callback還是delegate
其實都是大同小異的碗糕,差別只在於安不安全與便不便利罷了。delegate是我認為C#做
得比Java還要好的地方之一,只不過了解它好用的地方的人似乎並不多。
當然這只是我個人使用經驗的心得,有什麼不足之處歡迎補充說明了。
※ 編輯: remmurds 來自: 114.32.41.81 (02/19 18:32)
→
02/19 23:58, , 5F
02/19 23:58, 5F
→
02/19 23:59, , 6F
02/19 23:59, 6F
→
02/20 00:00, , 7F
02/20 00:00, 7F
推
02/20 16:09, , 8F
02/20 16:09, 8F
→
02/27 14:24, , 9F
02/27 14:24, 9F
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文 (最舊先):
請益
15
109
完整討論串 (本文為第 7 之 19 篇):
請益
15
29
請益
5
40
請益
9
17
請益
2
23
請益
15
109