→ diabloevagto:看不太懂這個八卦... 04/12 12:48
→ Killercat:不過就是在說明一些design pattern運作原理而已 orz 04/12 13:12
→ angleevil:= =拍謝,我功力不夠.我也看不懂... 04/12 13:34
→ iWRZ:怎麼看起來像Java? 04/12 13:41
推 iamstudent:這篇是在講Design Pattern,用的語言是java 04/12 13:53
→ iamstudent:有點偏離本版討論了,dp有OOAD可以討論,java也有專版 04/12 13:54
→ Killercat:我是java寫多了 不過除了兩個地方少了個*以外 04/12 14:04
→ Killercat:這看起來應該基本上都是C++才對啊(抓頭) 04/12 14:04
→ Killercat:我個人因為習慣用ref來取代pointer 所以->用得比較少 04/12 14:05
→ Killercat:會不會是因為這原因讓你們覺得像java? 04/12 14:05
→ Killercat:阿我知道為什麼了,有些地方的確寫成java了 我改一下XD 04/12 14:06
→ Killercat:java寫多了 一些C++的東西都會不小心混進奇怪code進去 04/12 14:12
※ 編輯: Killercat 來自: 220.136.83.196 (04/12 14:35)
推 purpose:可以留下 JAVA / C++ 的作法,這樣符合此版,又能比對 04/12 14:42
→ purpose:語言切來切去,容易搞混。這篇內容比較精鍊吧,我只看懂 04/12 14:44
→ purpose:一點,有些前因後果原PO稍微省略了,所以囉... 04/12 14:44
→ Killercat:其實這篇由來是這樣的 =P 中共前陣子不是因為北京一些 04/12 14:46
→ Killercat:事件以謠言為理由封鎖了幾個網站,我剛好跟幾個geek的 04/12 14:46
→ Killercat:工程師聊到這個,又剛好聊到design pattern 04/12 14:46
→ Killercat:所以我就寫了這篇讓大家笑一下 XD 04/12 14:47
→ Killercat:基本上對看不懂paattern的可能沒什麼幫助(比方說第一個 04/12 14:47
→ Killercat:prototype的核心就是->clone()) 看得懂的就當工程師笑話 04/12 14:47
→ Killercat:看看笑笑就好了 XD 04/12 14:48
→ Killercat:基本上我想用過這些pattern的應該都能會心一笑 04/12 14:48
推 iWRZ:個人想問 pattern 純C可以寫出來嗎? 04/12 16:56
→ Killercat:我可以跟你說 struct mask是無敵的 只是好不好用 XD 04/12 17:14
→ Killercat:沒有人願意用struct mask+macro模擬出一堆繼承feature 04/12 17:15
→ Killercat:我們可以反過來說 有什麼事malloc+memset寫不出來的XD 04/12 17:15
→ angleevil:有阿,被ooc逼退的頭髮,寫不回來(認真).所以我不碰那個 04/12 17:26
推 fengchu:回應i大。patterns和程式語言的種類高度相關。在C裏用函式 04/12 18:55
→ fengchu:指標陣列也算是一種pattern。在functional PL裏的pattern 04/12 18:55
→ fengchu:與OOPL裏的patterns也不太一樣。 04/12 18:56
推 mingtai1:第一個prototype pattern感覺常常很像template pattern.. 04/12 21:30
→ Killercat:template比較類似填洞(像builder),prototype比較像是 04/12 22:22
→ Killercat:你要生出一大群只差一個兩個相異點的物件 04/12 22:22
→ Killercat:當然你可以有很多種prototype 然後挑一個clone... 04/12 22:23
推 FAITHY:好強 能知道->清楚分辨->活用 這些設計概念好厲害 ... 04/12 23:26
→ Killercat:其實我想說的是,Design Pattern是一種殊途同歸的結果 04/13 09:49
→ Killercat:就算你沒看過DP,當你很有經驗的時候,你會發現你用的 04/13 09:49
→ Killercat:方法會跟大多數有經驗的人一樣,剛好也跟DP一樣 04/13 09:50
→ Killercat:其實除了少部分非常高深的pattern(多半跟template有關, 04/13 09:50
→ Killercat:比方說policy pattern這真的需要點才華)以外,大多數的 04/13 09:51
→ Killercat:patterns(像是GOF寫的那本硬殼書)都是遲早自己會寫到的 04/13 09:52
→ Killercat:不過這些需要才華的多半也被冠上design之名了 04/13 09:53
推 tomap41017:推上面最後這段 04/13 13:50
→ tomap41017:原PO寫得真的很棒!推 04/13 13:50
推 damody:推呀!C++無誤,不過第二個的new好像沒有delete 04/14 03:46
→ Killercat:builder有一種做法是.create()裡面delete this; 04/14 10:48
→ Killercat:當然這不是一個好的寫法 因為誰new應該就要誰delete 04/14 10:48
→ Killercat:所以第二個應該改成::createBuilder()->...->create(); 04/14 10:49
→ Killercat:createBuilder()做一個new Builder()這樣 @@a 04/14 10:49
※ 編輯: Killercat 來自: 123.192.252.25 (04/14 10:52)
※ 編輯: Killercat 來自: 123.192.252.25 (04/14 10:52)
推 damody:推新版本不用 delete 04/20 06:55