→ yauhh:意思可能是說,第一種就放個B在中間,B算是個 61.231.65.61 10/20 01:46
→ yauhh:什麼說不上來.換到下個case,你知道B是對象的 61.231.65.61 10/20 01:47
→ yauhh:提供者,而C是直接操作對象. 61.231.65.61 10/20 01:47
→ loveme00835:相依性不一樣, 本來是B 會相依於 C 的140.121.197.115 10/20 18:47
→ loveme00835:介面, A 會相依於 B 的介面, 如果 B140.121.197.115 10/20 18:48
→ loveme00835:做的事情就只有簡單的回傳 C 的位址,140.121.197.115 10/20 18:49
→ loveme00835:那麼就會變成只有 A 相依於 B, C 兩者140.121.197.115 10/20 18:51
→ loveme00835:B、C 之間的關聯就可以降到最低140.121.197.115 10/20 18:52
→ loveme00835:Three-tier 的架構上, 層層相依會比較140.121.197.115 10/20 18:55
→ loveme00835:好設計, 下面的方式反而會讓 A 的責任140.121.197.115 10/20 18:56
→ loveme00835:變多, 也會破壞了封裝性, 因為要是直140.121.197.115 10/20 18:57
→ loveme00835:接回傳實作物件的參考給client端, 實140.121.197.115 10/20 18:58
→ loveme00835:際上 B 就形同虛設了140.121.197.115 10/20 18:58
→ yauhh:難講,處理C的責任丟給A或丟給B,不都一樣, 211.21.94.199 10/21 14:13
→ yauhh:你說丟給A破壞封裝,照理丟給B也是破壞封裝. 211.21.94.199 10/21 14:14
→ loveme00835:封裝是把細節隱藏, 如果 A 本來就是140.121.197.115 10/21 19:25
→ loveme00835:屬於比較高層次的抽象化實作, 再把底140.121.197.115 10/21 19:25
→ loveme00835:層的東西提上來, 這樣本來封裝在 B 的140.121.197.115 10/21 19:26
→ loveme00835:部分就被透露, 這不是單純給誰的問題140.121.197.115 10/21 19:26
→ loveme00835:每一層有每一層該做的事, 間接多一層140.121.197.115 10/21 19:27
→ loveme00835:常可以提升複用性, 跟抽象化140.121.197.115 10/21 19:27
推 cgcheng:這個example講得比較像是template pattern 61.229.229.45 10/23 11:49
→ yauhh:B哪部份被透露?? 218.160.211.50 11/07 11:45