使用SOLID原則和依賴注入
SOLID 準則則是任何現代化和任務關鍵性應用程式中使用的重要技術,例如開發具有 DDD 模式的微服務。 SOLID 是將五個基本原則分組的縮略字:
單一責任原則
開放/封閉原則
利斯科夫替代原則
介面隔離原則
相依性反轉原則
SOLID 更深入瞭解如何設計應用程式或微服務內部層,以及將其之間的相依性分離。 它與網域無關,而是與應用程式的技術設計有關。 最後一個原則相依性反轉原則可讓您將基礎結構層與其餘層分離,這可讓您更妥善地分離 DDD 層實作。
相依性插入 (DI) 是實作相依性反轉原則的一種方式。 這是一種技術,可達成物件與其相依性之間的鬆散結合。 與其直接實例化協作物件或使用靜態引用(即使用 new...),不如將類別所需物件注入到類別中,以便執行其動作。 通常,類別會透過其建構函式宣告其相依性,讓他們遵循明確相依性原則。 依賴注入通常基於特定的控制反轉(IoC)容器。 ASP.NET Core 提供簡單的內建 IoC 容器,但您也可以使用慣用的 IoC 容器,例如 Autofac 或 Ninject。
藉由遵循 SOLID 原則,您的類別自然會是小型、有因素且易於測試。 但是,如何知道是否將太多相依性插入您的類別中? 如果您透過建構函式使用 DI,只要查看建構函式的參數數目,即可輕鬆偵測到該建構函式。 如果有太多相依性,這通常是個跡象(代碼氣味),表示您的類別嘗試做的事情太多,可能違反了單一責任原則。
需要另一個指南才能詳細說明 SOLID。 因此,本指南要求您只具備這些主題的最小知識。
其他資源
SOLID:基本 OOP 原則
https://deviq.com/solid/控件容器和相依性插入模式的反轉
https://martinfowler.com/articles/injection.html史蒂夫·史密斯 新就是黏合劑
https://ardalis.com/new-is-glue