Re: [問題] factory pattern

看板C_and_CPP作者 (累人啊....)時間14年前 (2011/11/19 02:26), 編輯推噓0(0015)
留言15則, 3人參與, 最新討論串4/7 (看更多)
恕刪,我把我的問題丟出來看看 ※ 引述《mingtai1 (綠豆嘉義人)》之銘言: : 既然你都把它定義為factory : 怎麼又會說要隨時修改他create object的屬性 ? 以VC的元件來舉例 : class CBase {};----->Object : class A:CBase {};----->ListBox,特有屬性Items : class B:CBase {};----->Button,特有屬性Text : class CFactory : { ... : }; : class CUser : { : void Foo() { : CBase *p1; : CBase *p2; : p1 = CFactory::CreateInstance(CFactory::Type_A); : p2 = Factory::CreateInstance(CFactory::Type_B); p1,p2的Items及Text就不見了~~ 可是我還會用到啊,而且會修改耶~ : p1-> .... : p2-> .... : .... other operations : } : }; 我不太清楚以VC元件套用在這個問題上是不是適合,希望表達的夠清楚 在OOAD板上問的結果,似乎要以abstract factory方式,是嗎?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.174.243 ※ 編輯: tyc5116 來自: 114.37.174.243 (11/19 02:26) ※ 編輯: tyc5116 來自: 114.37.174.243 (11/19 02:27)

11/19 02:29, , 1F
我不懂為什麼你會想開一個同時做ListBox跟Button的工廠
11/19 02:29, 1F

11/19 02:30, , 2F
最近在看相關的書,還沒有融會貫通,很直覺的就這樣想了
11/19 02:30, 2F

11/19 02:30, , 3F
很奇怪嗎???
11/19 02:30, 3F

11/19 02:30, , 4F
誇張一點的比喻,好像加油站兼賣咖啡,然後包裝成"液體"
11/19 02:30, 4F

11/19 02:31, , 5F
因為design pattern聽起來很酷 套上去感覺很強XD
11/19 02:31, 5F

11/19 02:31, , 6F
你拿到了不知道是汽油還是咖啡的液體,然後想計算咖啡因?
11/19 02:31, 6F

11/19 02:32, , 7F
剛接觸的確覺得滿酷的啊...XD
11/19 02:32, 7F

11/19 02:33, , 8F
不然以這個例子來說的話,怎樣的方式可能比較好呢?
11/19 02:33, 8F

11/19 02:34, , 9F
我只知道,如果你覺得這個東西套到你的問題後很怪,那就
11/19 02:34, 9F

11/19 02:34, , 10F
不要硬套,design pattern絕不是什麼萬能藥
11/19 02:34, 10F

11/19 02:37, , 11F
你這串第一篇的firose板友就有推了,你的問題不適合工廠
11/19 02:37, 11F

11/19 02:37, , 12F
你會開一間公廠兼賣電腦、汽油、咖啡、雞排,然後用一樣
11/19 02:37, 12F

11/19 02:38, , 13F
的包裝出貨嗎?
11/19 02:38, 13F

11/19 02:38, , 14F
喔喔...了解,沒有看到firose的推文....
11/19 02:38, 14F

11/19 02:40, , 15F
當產品有共同性質或有相同介面,會比較適合用工廠模式
11/19 02:40, 15F
文章代碼(AID): #1EngCzLN (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1EngCzLN (C_and_CPP)