Re: [J2SE] 談談Service的設計
※ 引述《abola921 (墳都買不起了還想買房)》之銘言:
: ※ 引述《Killercat (殺人貓™)》之銘言:
: : http://rayer.logdown.com/posts/32096-talk-about-service-design
: 我真的很認真的把全文看完了
: 我沒理解錯的話應該是使用 getService 去取得一個已存在的 service物件
: (也就是Singleton的方式)
: 用static的方式去實賤,這點並不意外,方便又快速
謝謝把這篇文章看完的版友,因為這篇真的有夠長+非常多的code =P
不過在這裡我想強調的東西並不是怎麼存取一個Singleton。
而是一個老問題:型別安全。
重點在於這種方法取出來的物件不用轉型(也不能轉型)
而且能被Eclipse的auto complete正確的指向正確的型別
(請見下面動手玩的code 很有趣喔 XD)
Spring...其實我個人是相當反Spring的,肥大,不好維護
我也知道@Autowire真的很方便,不過Spring...恩,見仁見智 XD
: 不過老問題: thread safe, 最後也會走上老解法: ThreadLocal
: 但你也提到了Spring,那為什麼不直接宣告成Spring Service
: 預設也是Singleton的方式存在,而且不會有thread safe的問題
: 就只是差在,要多做一個強制轉型
: 我會比較建議直接宣告成Spring Service,在你有include spring的前提下
謝謝你的看法。不過,Service設計上這邊提到的相當少,我也有打算再寫一篇
關於Service其他方面的做法。比方說Thread Safe。事實上,我們目前專案的
Service有頗嚴格的field控管,我也覺得這不是很好的做法,我有打算用C++的pImpl
方式來解決這個問題(編譯防火牆),徹底做到把所有的field圈起來.
http://tw.myblog.yahoo.com/jw!II2iRHiVEQJ0_2kIG.YEQcfMM2M-/article?mid=10&prev=11&next=9
不過這篇的確就是為了消滅強轉而存在的,只要是「使用者工程師」的強轉
就一定會有出錯的機會。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.124.251.135
推
07/19 16:52, , 1F
07/19 16:52, 1F
→
07/19 16:55, , 2F
07/19 16:55, 2F
→
07/19 17:34, , 3F
07/19 17:34, 3F
→
07/19 17:37, , 4F
07/19 17:37, 4F
→
07/19 17:38, , 5F
07/19 17:38, 5F
→
07/19 17:42, , 6F
07/19 17:42, 6F
→
07/19 17:43, , 7F
07/19 17:43, 7F
→
07/19 17:44, , 8F
07/19 17:44, 8F
推
07/19 17:45, , 9F
07/19 17:45, 9F
→
07/19 18:06, , 10F
07/19 18:06, 10F
推
07/19 20:47, , 11F
07/19 20:47, 11F
→
07/19 21:09, , 12F
07/19 21:09, 12F
→
07/20 02:30, , 13F
07/20 02:30, 13F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 9 篇):