[討論] dynamic/static polymorphism

作者: POSIX (tedium of chores)   2015-12-24 02:07:14
小弟我稍微練習寫一下 template
同時做 polymorphism
才知道用 template 寫這個有這麼卡 T__T
找了一些方法 最後選用 CRTP 來做
感覺上是可以解掉 dynamic binding / virtual 這類問題
但心理上總是有不踏實的感覺
先描述一下過程好了
參考了一些 design pattern, 在規劃完架構開始寫
一眼看見 interface 就忍不住想要來個 base reference/pointer 玩玩
而再把程式整理一下,則又發現因為不同 type 產出一樣邏輯的程式碼很多
又忍不住想要使用 template 把大夥兒一役解決!
就會同時寫出適合 compile time 解決的 templates
和適合 runtime 解決的 dynamic binding
不曉得這樣的現象是不是好的?
或是我該從哪裡開始重新思考、重新審視的?
後記就是,我查到的文章都好老了 T__T
是這類的技術已經被哪些新技術取代了嗎?T__T
作者: POSIX (tedium of chores)   2015-12-24 02:10:00
阿!忘了問,CRTP 屬於正常解法嗎?還是通常會怎麼解?
作者: fr3ak (fr3@K)   2015-12-24 15:56:00
先參考 design patterns 就是你的不對 (認真)恭喜你成為第 N 位先研究 DP 而無視原本問題的 programmer非酸!
作者: suhorng ( )   2015-12-24 16:58:00
天啊是 fr3ak 大!!XD
作者: fr3ak (fr3@K)   2015-12-24 17:20:00
suhorng, 好久沒見~ (揮手
作者: rodion (r-kan/reminder)   2015-12-24 17:23:00
推樓上 原PO要不要先問問自己為何感覺不對
作者: POSIX (tedium of chores)   2015-12-24 17:31:00
我猜fr3ak點出的問題是,DP是結果不是目的(?)這個相當同意阿
作者: fr3ak (fr3@K)   2015-12-24 17:38:00
不. 結果是以好的有效的方法解決問題. 至於 DP? 可能是也可能不是 (自己都覺得聽起來像廢話 XD)
作者: POSIX (tedium of chores)   2015-12-24 17:50:00
不曉得能不能這樣解釋,OOAD做的好,code就寫的好,DP自然會冒出來 @@"
作者: fr3ak (fr3@K)   2015-12-24 17:51:00
如果我的推文有點無厘頭的話, 先道歉. 對於自己有點心得的題目, 小弟喜歡留點空間並也鼓勵交流的朋友能夠自行思考消化出自己的解答. 或許會比我自己心中的答案還更好自我揭露: 小弟最喜歡戰 DP 跟 OO 了 (爆)
作者: POSIX (tedium of chores)   2015-12-24 17:57:00
nonono, 寫扣有bad smell, 寫完全身不對勁 就該像我一樣上討鞭才會進步阿~~~~XDXD
作者: nowar100 (拋磚引玉)   2015-12-24 21:01:00
不太懂你遇到的問題是什麼 想要解決runtime virtual oveahead嗎 文章中看不出來你的目標是什麼CRTP沒有過時啊,還是有常見大型project在用
作者: POSIX (tedium of chores)   2015-12-26 23:39:00
細讀 template complete guide 還有新發現發現很多好用的東西可以解決問題,如trait或是policynowar100 說的, 已經是我「之前」想要解決的問題 ^^"a看完書以後發現有更好解法
作者: remmurds (Stronghold)   2015-12-27 12:16:00
在C++玩Design Pattern第一步就是先被C++奇怪的花招玩到暈頭轉向

Links booklink

Contact Us: admin [ a t ] ucptt.com