共用方式為


設計微服務應用層和 Web API

小提示

此內容是適用於容器化 .NET 應用程式的電子書.NET 微服務架構摘錄,可在 .NET Docs 或免費下載的 PDF 中取得,可脫機讀取。

.NET 微服務架構的容器化 .NET 應用程式電子書封面縮圖。

使用SOLID原則和依賴注入

SOLID 準則則是任何現代化和任務關鍵性應用程式中使用的重要技術,例如開發具有 DDD 模式的微服務。 SOLID 是將五個基本原則分組的縮略字:

  • 單一責任原則

  • 開放/封閉原則

  • 利斯科夫替代原則

  • 介面隔離原則

  • 相依性反轉原則

SOLID 更深入瞭解如何設計應用程式或微服務內部層,以及將其之間的相依性分離。 它與網域無關,而是與應用程式的技術設計有關。 最後一個原則相依性反轉原則可讓您將基礎結構層與其餘層分離,這可讓您更妥善地分離 DDD 層實作。

相依性插入 (DI) 是實作相依性反轉原則的一種方式。 這是一種技術,可達成物件與其相依性之間的鬆散結合。 與其直接實例化協作物件或使用靜態引用(即使用 new...),不如將類別所需物件注入到類別中,以便執行其動作。 通常,類別會透過其建構函式宣告其相依性,讓他們遵循明確相依性原則。 依賴注入通常基於特定的控制反轉(IoC)容器。 ASP.NET Core 提供簡單的內建 IoC 容器,但您也可以使用慣用的 IoC 容器,例如 Autofac 或 Ninject。

藉由遵循 SOLID 原則,您的類別自然會是小型、有因素且易於測試。 但是,如何知道是否將太多相依性插入您的類別中? 如果您透過建構函式使用 DI,只要查看建構函式的參數數目,即可輕鬆偵測到該建構函式。 如果有太多相依性,這通常是個跡象(代碼氣味),表示您的類別嘗試做的事情太多,可能違反了單一責任原則。

需要另一個指南才能詳細說明 SOLID。 因此,本指南要求您只具備這些主題的最小知識。

其他資源