看板 C_and_CPP 關於我們 聯絡資訊
恕刪,我把我的問題丟出來看看 ※ 引述《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)
james732:我不懂為什麼你會想開一個同時做ListBox跟Button的工廠 11/19 02:29
tyc5116:最近在看相關的書,還沒有融會貫通,很直覺的就這樣想了 11/19 02:30
tyc5116:很奇怪嗎??? 11/19 02:30
james732:誇張一點的比喻,好像加油站兼賣咖啡,然後包裝成"液體" 11/19 02:30
hilorrk:因為design pattern聽起來很酷 套上去感覺很強XD 11/19 02:31
james732:你拿到了不知道是汽油還是咖啡的液體,然後想計算咖啡因? 11/19 02:31
tyc5116:剛接觸的確覺得滿酷的啊...XD 11/19 02:32
tyc5116:不然以這個例子來說的話,怎樣的方式可能比較好呢? 11/19 02:33
james732:我只知道,如果你覺得這個東西套到你的問題後很怪,那就 11/19 02:34
james732:不要硬套,design pattern絕不是什麼萬能藥 11/19 02:34
james732:你這串第一篇的firose板友就有推了,你的問題不適合工廠 11/19 02:37
james732:你會開一間公廠兼賣電腦、汽油、咖啡、雞排,然後用一樣 11/19 02:37
james732:的包裝出貨嗎? 11/19 02:38
tyc5116:喔喔...了解,沒有看到firose的推文.... 11/19 02:38
james732:當產品有共同性質或有相同介面,會比較適合用工廠模式 11/19 02:40