作者POSIX (tedium of chores)
看板C_and_CPP
標題[討論] dynamic/static polymorphism
時間Thu Dec 24 02:07:14 2015
小弟我稍微練習寫一下 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
--
正是在現實生活中拼搏,夢想才有意義
只是把自己投射到別人的夢想裡的話
跟死又有什麼兩樣
『真是一個現實主義者啊』
如果你把逃避現實叫做浪漫的話.....
Kusanagi Motoko草薙素子
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.155.251
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1450894054.A.9C6.html
1F:→ POSIX: 阿!忘了問,CRTP 屬於正常解法嗎?還是通常會怎麼解? 12/24 02:10
2F:推 fr3ak: 先參考 design patterns 就是你的不對 (認真) 12/24 15:56
3F:→ fr3ak: 恭喜你成為第 N 位先研究 DP 而無視原本問題的 programmer 12/24 15:57
4F:→ fr3ak: 非酸! 12/24 15:57
5F:推 suhorng: 天啊是 fr3ak 大!!XD 12/24 16:58
6F:推 fr3ak: suhorng, 好久沒見~ (揮手 12/24 17:20
7F:推 rodion: 推樓上 原PO要不要先問問自己為何感覺不對 12/24 17:23
8F:→ POSIX: 我猜fr3ak點出的問題是,DP是結果不是目的(?)這個相當同意阿 12/24 17:31
9F:推 fr3ak: 不. 結果是以好的有效的方法解決問題. 至於 DP? 可能是也可 12/24 17:38
10F:→ fr3ak: 能不是 (自己都覺得聽起來像廢話 XD) 12/24 17:38
11F:→ POSIX: 不曉得能不能這樣解釋,OOAD做的好,code就寫的好,DP自然會 12/24 17:50
12F:→ POSIX: 冒出來 @@" 12/24 17:51
13F:推 fr3ak: 如果我的推文有點無厘頭的話, 先道歉. 對於自己有點心得的 12/24 17:51
14F:→ fr3ak: 題目, 小弟喜歡留點空間並也鼓勵交流的朋友能夠自行思考消 12/24 17:51
15F:→ fr3ak: 化出自己的解答. 或許會比我自己心中的答案還更好 12/24 17:51
16F:推 fr3ak: 自我揭露: 小弟最喜歡戰 DP 跟 OO 了 (爆) 12/24 17:56
17F:→ POSIX: nonono, 寫扣有bad smell, 寫完全身不對勁 就該像我一樣上 12/24 17:57
18F:→ POSIX: 討鞭才會進步阿~~~~XDXD 12/24 17:57
19F:推 nowar100: 不太懂你遇到的問題是什麼 想要解決runtime virtual ove 12/24 21:01
20F:→ nowar100: ahead嗎 文章中看不出來你的目標是什麼 12/24 21:02
21F:→ nowar100: CRTP沒有過時啊,還是有常見大型project在用 12/24 21:03
22F:→ POSIX: 細讀 template complete guide 還有新發現 12/26 23:39
23F:→ POSIX: 發現很多好用的東西可以解決問題,如trait或是policy 12/26 23:40
24F:→ POSIX: nowar100 說的, 已經是我「之前」想要解決的問題 ^^"a 12/26 23:41
25F:→ POSIX: 看完書以後發現有更好解法 12/26 23:41
26F:→ remmurds: 在C++玩Design Pattern第一步就是先被C++奇怪的花招玩 12/27 12:16
27F:→ remmurds: 到暈頭轉向 12/27 12:16