Re: [請益] Spring boot的依賴注入降低耦合的例子已刪文

看板Soft_Job作者 (baobomb)時間2年前 (2022/04/01 17:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/8 (看更多)
小弟不才的理解是 DI的目的本來就不是解耦 而是提供一個注入的方式 至於實際上控制以及 依賴反轉的部份 還是看你怎麼實作注入的實例 再review一次DI graph就會了解 Dao 實際上在 injected時應該是抽象類 甚至其實不應該注入 Dao 而是用另一個Repository去控制他 並且Module是Provide Repository的介面給 Service而不是Repo的實作 這個Repo的實作部分在DI component building 時可以inject更多其他的東西 也因此在最上層的component中不需要知道 這些抽象類到底實作了什麼 又或是到底inject 了什麼其他類 實務上可以有一個component負責注入 這個component compose了多個module 這些modules provide的 repos的介面 repos內可以compose多個Dao 最後Service只需要注入一個Repo的介面 且不用管你的component怎麼實作且注入的 這樣就完全解耦了 也就是說Repo像一個工具 箱 然後DI負責組合這個工具箱最後提供一個工 具箱的使用面板(interface) 給service 最後Service只用那個抽象面板操作工具箱而不 管工具箱裡面的工具哪來的 在功能要擴展變化或是測試時 直接更動工具箱 裡面的工具就行 Service完全不需要動到 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.125.138.130 (新加坡) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1648805090.A.317.html
文章代碼(AID): #1YHiJYCN (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1YHiJYCN (Soft_Job)