Re: [問題] 抽像工廠與工廠方法

看板C_and_CPP作者 (最愛朴素妍)時間15年前 (2010/11/28 03:16), 編輯推噓9(904)
留言13則, 9人參與, 最新討論串2/2 (看更多)
※ 引述《rosemary0401 (rosemary0401)》之銘言: : 小妹最近再看Design pattern的相關知識, : 但卻不太清楚,用了這些pattern會有什麼好處,反而覺得更加得複雜了。 : 故想跟各位前輩請教, : Abstract Factory實際上就是多個Factory Method是嗎? : 能不能舉個例子,如果沒有Abstract Factory或是沒有Factory Method會帶來什麼不便? : 謝謝 雖然他們都有「工廠」兩個字,不過目的卻不太一樣: ┌──┬─────────┬──────────┐ │名稱│工廠方法 │抽象工廠 │ ├──┼─────────┼──────────┤ │目的│規定物件的製程。也│為了產出不同組合的物│ │ │就是在使用物件前依│件,有點像速食店套餐│ │ │序呼叫不同的成員函│的概念。 │ │ │式完成準備的工作。│ │ └──┴─────────┴──────────┘ 可以說工廠方法著重在產品的多型,抽象工廠著重在工廠的多型。 與其說會造成什麼不便,先來講講為什麼 Design Patterns要莫名 多一堆介面好了: 1.操作統一 因為規定了子類別一定要實現的操作,所以使用上可以一視同仁 嗯..就是這麼簡單, 而且因為多型的支援, 你可以任意增加不同的 類別完成新功能,而無須改動太多原本的程式碼。 ───────────────────────────── 使用設計模式就好像在烹調各式各樣的菜餚,你可以跟人家說你煮 的是「步步高升」,而不用講「一湯匙米酒+兩湯匙冰糖+三湯匙 ..」。 設計模式就是食譜,大概說明了每道菜的材料以及作法,直接拿來 套用總比你想到什麼就加什麼來得保險;不過像四川菜泰國菜還是 要依照家人口味調整香料的比例。而且「六菜碗」也不適合在新年 的時候準備。 有互動的類別形成一個模組,他們以介面為協定來溝通,所以仔細 了解介面存在的原因,妳要改良成家常菜也不是多麼困難的事情! 雖然例子網路上找得到很多,還是要透過實作以及遇到需求變更才 能體會它為我們帶來「不用修改太多程式」的便利性,現階段Head First Design Patterns、GoF 的 Design Patterns 花時間讀過一 便有個概念就好,覺得可能需要用到再回來翻一下,真正有收穫的 應該是 ─ 解決問題的時候。 ───────────────────────────── 找個簡單又剛好是 C++的例子真不容易,我看過最好懂的應該是 Head First Design Patterns上的範例了,剛剛轉譯程式碼轉到快 瘋掉,只好放棄... 有興趣可以參考它上面的第四章,以及範例程式(java) 網路版: http://ppt.cc/YrW4 程式碼: http://ppt.cc/zY!i -- ◢████ ◢█ ◢██◣ ◢█ ◢███ ◢█ T-ara版怎麼去 ████◢█████s ~> T-ara ███ █ ◢█歡迎您的光臨 ███████████恩靜智妍孝敏 ███ ██ 素妍居麗寶藍 ████◥██◤ █████ψmakigoto123 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.197.115

11/28 03:36, , 1F
推。看完有比較懂一點了,但還沒完全理解,晚點再翻翻資料
11/28 03:36, 1F

11/28 10:26, , 2F
m
11/28 10:26, 2F

11/28 11:11, , 3F
有比較了解 謝謝您
11/28 11:11, 3F

11/28 12:44, , 4F
謝謝愛我大大,看完之後有比較了解了
11/28 12:44, 4F

11/28 13:46, , 5F
太抽象了啦 有沒有sample...
11/28 13:46, 5F
晚點補上@_@

11/28 14:48, , 6F
大大太厲害了,受小弟一拜
11/28 14:48, 6F

11/28 16:47, , 7F
稍微有點頭緒了 謝謝大大的講解
11/28 16:47, 7F

11/28 16:48, , 8F
我之前也弄不清楚,推!
11/28 16:48, 8F

11/28 20:51, , 9F
路過看不懂也推~~
11/28 20:51, 9F

11/29 01:20, , 10F
剛稍微查了一下,HFDP 歐萊禮的出版日期是2004,到底2008
11/29 01:20, 10F

11/29 01:20, , 11F
是什麼意思還是搞不懂...
11/29 01:20, 11F

11/29 01:23, , 12F
StackOverflow 站長的 HFDP 書評:http://goo.gl/qFADs
11/29 01:23, 12F
那為了避免爭議放品質比較好的2004好了 XD 電子書倒是2008 偏多, 內容也沒什麼差別. ※ 編輯: loveme00835 來自: 140.121.197.115 (11/29 02:22)

11/29 02:39, , 13F
這版不錯,謝了
11/29 02:39, 13F
文章代碼(AID): #1CyLagAz (C_and_CPP)
文章代碼(AID): #1CyLagAz (C_and_CPP)