課程說明

了解DI概念和目的


DI是物件導向中最常被誤解的概念之一,涉及術語、目的、設計模式、控制權和機制..等,但DI只為了更方便測試嗎?

我沒寫測試還需了解DI嗎?

還是有更廣泛用途?DI容器有存在必要性嗎?DI就是實現晚期繫結而已嗎?

網路上有很多DI相關文章,但內容參差不齊,甚至有些還給予錯誤定義,

導致開發人員更混亂。



開發人員值得投資的軟體設計

我回想自己第一次在 asp@net 開始DI撰寫風格,

簡單初始化application失敗且無法順利啟動次數多到數不清,因DI註冊相關物件沒那麼單純,導致我當時相當排斥DI撰寫風格(用靜態類別或直接new instance反而更簡單),

另外,我也不認為使用DI卻不用吸收其他概念,如Clean Code、SOLID、Design Pattern和OOP..等,

而所有不一致和更混亂的原因之一是,DI邊界太模糊,雖然我認為不可能在這些概念之間劃清界線,

但至少我們要了解DI的好處和使用時機,才能進而定義DI邊界,也才能避免繼續擴大下去。

我曾聽一位資深開發人員告訴我,他不喜歡DI設計,因為debug變更困難了,

維護和測試成本都提高了不少,但真的是這樣嗎?。


輕鬆上手DI開發風格

這堂課我將使用.NET5提供的DI框架進行示範和介紹(.NET CORE也適用),DI軟體設計也是ASP.NET Core 5核心,

我將比對傳統和DI兩種撰寫風格,讓學員了解採取面向介面開發而非直接實現所帶來的好處,

幫助學員如何寫出鬆耦合程式碼,

並掌握現代化的DI風格、攔截、注入模式和服務生命週期,

並隨時隨地自由使用DI,對DI不在有恐懼,

現在就加入這堂課,和我一起改善軟體品質,寫出更好維護的程式碼,

您會學到

  • DI風格和傳統風格差異
  • 了解使用DI的目的
  • 了解使用DI的時機
  • 了解使用DI的好處
  • 了解物件相依性
  • 了解DI注入模式
  • 了解SOLID軟體設計
  • 了解使用DI容器進行服務註冊和自動控制物件週期
  • 快速上手.NETCore 5 MVC的DI容器
  • 了解DI如何輕鬆實現AOP

此課程適合哪些人

  • 想了解DI軟體設計的開發人員
  • 想學習DI開發風格的開發人員
  • 想改善軟體品質的開發人員
  • 想寫出維護性高的程式碼開發人員
  • 用的開發人員

要求

  • C#開發經驗
  • VS IDE使用經驗

觀看限制

  • 不限次數、時間
  • 完整終身存取權


SRP章節試看
SRP章節試看





使用DI的目的章節試看
使用DI的目的章節試看


課程售價