本書的第一部分旨在建立 Dependency Injection (DI) 的基礎觀念,讓讀者理解 DI 是什麼、為什麼需要它,以及它如何具體改善軟體設計。透過三個章節的循序漸進,讀者將從概念理解走向實作體會。

第一章從根本出發,定義 DI 的核心概念與目標——撰寫可維護的程式碼。書中破除了四個常見迷思,並以電線插座的日常比喻解釋 DI 背後的設計原則。讀者會認識 Stable DependenciesVolatile Dependencies 的區別,以及 DI 的三個維度:Object Composition、Object Lifetime 和 Interception。

第二章透過一個具體案例——Mary Rowan 的電商應用程式——展示緊耦合 (Tightly Coupled) 程式碼的問題。這個採用 inside-out 開發方式建構的三層式架構,暴露了依賴方向錯誤、無法測試、無法替換元件等典型問題,為後續的改寫奠定了「改善前」的對照基準。

第三章則是「改善後」的版本。同樣的電商需求,改用 outside-in 開發方式與 DI 原則重新設計。透過 Dependency InversionConstructor InjectionComposition Root 等核心模式,程式碼變得鬆耦合、可測試、關注點分離,並且支援平行開發。這個前後對比生動地展示了 DI 帶來的具體價值。