看板 Soft_Job 關於我們 聯絡資訊
各位好: 這是小弟第三篇部落文,是很多人愛談的 IoC/DI,是傳說中學會這個,就能秒 學各框架的重要觀念。 接續前兩篇文的觀念,簡單說明 IoC/DI ,並且把大部分人混淆的觀念: 依賴反 轉 vs 控制反轉 vs 工廠,做個釐清。 才出兩篇文,有很多支持,我很感激,酸酸也比我意想的多,但我是不會玻璃心 碎的,只希望能幫助更多人,並釐清網路上的錯誤資訊... (一堆人說 IoC = DIP,我超 傻眼)。 高手可以略過,文中沒有高深莫測的程式,只有腦殘簡單的容器範例,也沒有酷 炫的語法糖,一切都回歸純樸。 請服用: https://blog.jason.party/3/ioc-di -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.242.145 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1479874039.A.344.html
Rougun: 學習了謝謝11/23 12:42
不敢當 ^^" 每個人都有可學之處 :)
s06yji3: Push11/23 12:42
fgh81113: 德瑪西雅!!11/23 13:00
三年沒打 lol 了 哈哈哈
Arctica: 先推再看11/23 13:01
chatnoir: 終於等到了!11/23 13:45
Ekmund: 出惹11/23 13:57
lastdreamer: nice11/23 14:06
感謝~ 有建議或批評再麻煩各位了 我需要加強文筆 ~"~ ※ 編輯: Jasonzheng (42.72.242.145), 11/23/2016 15:14:25
kniver999: 推推11/23 15:30
vi000246: 推11/23 16:13
buper: 自從大拇指跟眼皮常常抽筋後就沒碰遊戲了...(x)11/23 17:15
buper: 感謝分享!11/23 17:15
Masakiad: 有分享的心情都該推11/23 18:32
ggBird: 推11/23 19:32
gn00273680: 推11/23 19:48
dnabossking: 就在等這個 11/23 20:02
Chienhua: 推好文 11/23 20:15
pttworld: 確定傳統是高階建立低階?現在也不在乎正確性了。11/23 20:56
pttworld: 如果覺得是酸文可以不用改原文或原圖。11/23 20:57
傳統是怎樣? 結構化語言是怎樣? 建議你可以看看此篇 http://stg-tud.github.io/sedc/Lecture/ss15/3.4-DIP.pdf 然後大大,您真的很無聊 從 Java 版 遠道而來 真是辛苦了 主管? 嗯嗯 棒
abc0922001: 推11/23 21:38
※ 編輯: Jasonzheng (42.72.242.145), 11/23/2016 21:54:10
ACMANIAC:11/23 22:02
Chris926926: 推,描述得很生動有趣11/23 22:17
givemepass: 先推再看 11/23 22:27
givemepass: 第四集咧~敲碗 11/23 22:28
yuanyu90221: 推 11/23 23:53
CaLeLu: 推 11/24 00:16
MISandra: 這是我看過寫最好的 IoC/DI 11/24 00:59
MISandra: 必須推 11/24 01:00
unibo: 推 11/24 01:03
感謝
pttworld: 你給的投影片不是傳統模式。 11/24 04:43
是傳統的依賴關係 談論到實例前,得先釐清此觀念
pttworld: 另外是我長期在此版發文,是你後進的。11/24 04:47
我是無法理解,這有什麼好優越的啦
jefflu: 推心得 但是我之前玩的時候是看這邊:11/24 06:44
jefflu: 呵呵 不能貼網址 算了 XDD11/24 06:49
v86861062: :D11/24 07:19
accessdenied: 對此系列作者的語文程度不敢恭維,自以為幽默的注11/24 08:56
accessdenied: 音文類聲文,難登大雅之堂11/24 08:56
謝謝指教! 我覺得您比某p大有建設性多了 :) 但是很抱歉, 我沒有想要打較正式的文章 也沒自認幽默 只想以輕鬆的口吻撰文 抱歉不適合您閱讀
fouring: 幫推11/24 09:09
abc0922001: 這樣比較好懂11/24 09:13
ripple0129: 每個人喜愛不同比起文縐縐的語句,個人偏愛此方式撰寫11/24 09:33
wisehuang: 推一個11/24 10:19
blackacre: 推分享。不喜歡的話,自己寫一篇就好啦。有什麼好噓的11/24 10:28
gmoz: 登大雅之堂要幹嘛?11/24 11:00
感謝各位 我也認為 登大雅之堂要幹嘛 xd
gmoz: 眼紅(?11/24 11:01
pttworld: 其實是分享資訊有錯誤是否值得推。11/24 11:12
您覺得有誤,就請拿出依據 並非您的自我認知即是一切 我撰文也有大量做功課 並非您所想隨便寫寫 不求甚解
pttworld: 一般新聞媒體報導內容不實都被罵翻了,標準問題。11/24 11:13
比較好奇的是: DI 一詞的原作 Martin 都沒有畫圖了 您竟然可以知道什麼才叫"正確"的圖 我也是感到佩服。 再次強調,有錯誤就拿出依據 不要自己模稜兩可,舉例帶過 這樣也才有進一步討論的必要,感恩。
donyingle: 問!所以最終決定遊戲的人是container?還是有其他方法 11/24 11:21
donyingle: ? 11/24 11:21
如果您已經 bind 過 或有任何型別提示 (例如: 某些框架,會做類別名稱判斷,"User"Repository 會自動注入到 "User"Control ler) 符合以上條件的話,是的。 但如果不想使用容器,自己 new Game 再設值給 Computer,當然也行 :) ※ 編輯: Jasonzheng (60.250.236.43), 11/24/2016 12:24:56
www16852: 可以問一下 所以實作DI就等於實作IOC了嗎 IOC部分看不 11/24 12:21
www16852: 太懂11/24 12:21
DI 是 實做 IoC 的一種方式, 有做好 DI 當然就實做了 IoC ^^ ※ 編輯: Jasonzheng (60.250.236.43), 11/24/2016 12:27:47
pttworld: 在Java版的編輯文已經說明清楚了,可以去回。 11/24 12:45
SinclairShen: 推~~ 11/24 14:30
RadiationXen: 建議再提個composition root 11/24 23:04
bean0917: 推 11/25 01:04
yang1223: 推 11/26 13:12
showgunLa: 推 11/29 12:07
Jwar: push 12/05 11:16