→ m339606: 不明白 03/13 18:19
→ ssccg: 不懂為什麼在不同class要共用的變數卻在不同thread不共用.. 03/13 19:01
→ ssccg: 感覺一般設計上要兩套一樣的會是生兩套instance,不會是同 03/13 19:03
→ ssccg: 一套然後寫成static,再用thread去拆兩套.. 03/13 19:03
→ ssccg: 也許當初用static共用而不是用DI注入同一個變數就錯了 03/13 19:05
→ ssccg: 不過還是回你的問題,不同thread各一份可以用ThreadLocal 03/13 19:06
→ GoalBased: 為了設計模式而設計模式吧.. 03/13 19:27
→ Litfal: 設計模式下的架構怎麼會常用static...只有簡單工廠明顯用 03/14 02:39
→ Litfal: 到吧。 03/14 02:39
→ Litfal: 喔,還有獨體模式 03/14 02:41
→ Litfal: 然後你抽象類大量用到外部變數(也就是你寫成static的)就要 03/14 02:43
→ Litfal: 認真考慮一下你的OOAD是不是有問題... 03/14 02:44
→ Litfal: 我猜你的static裡面放的是config參數,請把他們的static 03/14 02:55
→ Litfal: 去掉,做成instance,然後用獨體模式來存取。 03/14 02:56
→ Litfal: 然後你不同執行續使用不同config的需求,只需要使用不同 03/14 02:57
→ Litfal: 的config instance,其他部分應該幾乎不用改 03/14 02:58
這部分我有想過,不過如果是使用獨體模式,在多執行緒下不是就同一筆資料了嗎?
不知道是不是我理解錯誤。
因為現在的資料必須在執行緒下生成與修改。
我已經想好其他發法解決了,但是還是想知道有沒有什麼好方法
※ 編輯: autumnk (220.134.59.89), 03/14/2016 10:43:55
後來看了一下S大的內容,發覺我想到的方法和S大說得差不多
原來這叫DI注入,又學到了新東西^^,太感謝了。
※ 編輯: autumnk (220.134.59.89), 03/14/2016 11:08:15
→ Litfal: 獨體模式是指你平常使用,實際上還是用instance而不是 03/14 16:48
→ Litfal: static field, 多執行續只需要改成各自new instance就好 03/14 16:49
了解,感謝你的解答
※ 編輯: autumnk (220.134.59.89), 03/14/2016 18:10:53