依賴注入:原理、實作與設計模式 | 拾書所

依賴注入:原理、實作與設計模式

$ 900 元 原價 1,000

內容簡介

【名家名著】 21

想要讓程式更具彈性、更容易測試、更接近clean code
你需要降低元件之間的耦合度,
依賴注入將是你強而有力的工具!
它是組合取代繼承的重要實踐!

要降低軟體元件之間的緊耦合程度,最好的方法便是引入「依賴注入(DI,Dependency Injection)」技術。在鬆耦合架構下,不用再自己手動指定資料庫連線時要使用的驅動,而是透過一個可被替換的第三方元件進行。本書將說明如何在ASP.NET Core這類應用程式框架下,利用DI架構幫助你管理軟體中的變更與複雜度議題。

《依賴注入-原理、實作、與設計模式》的前身是來自於暢銷經典書籍《Dependency Injection in .NET》一書的重編與增量版本。本書會從基礎開始從頭介紹何謂DI架構,並且在說明打造具備鬆耦合與完善架構的應用程式上,會遇到哪些設計模式、應避免的反模式、並且對此提出可供參考的範例內容。這些以C#程式語言寫成的範例,具備完善的說明註解並搭配圖表,可以幫助讀者在以現代物件導向程式語言以及支援DI架構的容器函式庫進行開發時,順暢無誤地遵循實務原則與設計模式。

❖教你如何將既有程式碼,重構為鬆耦合架構
❖以標準物件導向程式語言觀點來實作的DI技巧
❖與標準.NET框架整合的教學內容
❖將舊版範例內容重新編寫,以.NET Core框架來示範DI架構

本書適合那些對物件導向程式語言已有一定熟悉的讀者。

Odd-e Taiwan 敏捷技術教練 陳仕傑(91)專文推薦

作者簡介

譯者介紹

自序/導讀

7.1.4 剖析 UpdateCurrency 的架構層

7.2 通用 Windows 平台應用程式的物件組合

7.2.1 UWP 應用程式的物件組合

7.2.2 範例:建立一個商品管理 app

7.2.3 在UWP 應用程式中實作組合根

7.3 ASP.NET 核心 MVC 框架應用程式的物件組合

7.3.1 自訂一個 Controller 啟動器

7.3.2 在單純DI 架構建立自訂的中介層

7.4 小結

重點回顧

 

Chapter 8 物件生命週期

8.1 管理依賴對象的生命週期

8.1.1 生命週期的管理

8.1.2 在單純 DI 架構下管理生命週期

8.2 處理依賴的廢棄問題

8.2.1 處理可廢棄依賴對象

8.2.2 管理可廢棄的依賴對象

8.3 生命週期型態彙整

8.3.1 單例型態

8.3.2 一次性型態

8.3.3 作用域型態

8.4 不良生命週期型態

8.4.1 被綁架的依賴

8.4.2 抽象漏洞造成的生命週期型態資訊洩漏

8.4.3 與執行緒生命週期綁定的物件會造成並行上的問題

8.5 小結

重點回顧

 

Chapter 9 介入攔截

9.1 關於攔截

9.1.1 裝飾者設計模式

9.1.2 範例:以裝飾者模式實作稽核機制

9.2 實作橫切關切點

9.2.1 以攔截實作斷路器設計模式

9.2.2 在回報例外錯誤時利用裝飾者模式

9.2.3 在保護機敏功能避免非法存取時利用裝飾者模式

9.3 小結

重點回顧

 

Chapter 10 設計面上的剖面導向程式設計

10.1 何謂剖面導向程式設計

10.2 關於 SOLID 五原則

10.2.1 單一職責原則(SRP)

10.2.2 開放封閉原則(OCP)

10.2.3 里氏替換原則(LSP)

10.2.4 介面切離原則(ISP)

10.2.5 依賴反轉原則(DIP)

10.2.6 攔截與 SOLID 五原則之間的關係

10.3 透過 SOLID 五原則達成AOP

10.3.1 範例:以 IProductService 實作商品相關功能項目

10.3.2 以 SOLID 五原則的觀點分析 IProductService

10.3.3 遵循 SOLID 五原則改善設計

10.3.4 添加更多橫切關切點機制

10.3.5 本章結語

10.4 小結

重點回顧

 

Chapter 11 以工具實作的剖面導向程式設計

...

各界推薦/推薦序

名人盛讚

「我非常推薦與認同書裡的脈絡安排與學習順序,其實戰性毋庸置疑。」──Odd-e Taiwan 敏捷技術教練:陳仕傑(91)

「實用的範例內容讓原本虛無縹渺的概念具體化了... 作得太好了。」──Glenn Block,來自Microsoft

「內容豐富、思路清晰、指引明確、而且... 永久受用。」──David Barkol,來自Neudesic

「這本書正是所有.NET 軟體設計師需要的。」──Paul Grebenc,來自PCA Services

「這本書把那些原本雲裡霧裡的模糊觀念全都撥雲見日。」──Rama Krishna,來自3C Software

「跟隨這本書的獨特思維,深入學習現代軟體開發的實務原則。極度推薦!」──Darren Neimke,來自HomeStart Finance

「對依賴注入議題所需要知道的一切都在這本書裡了,保證物超所值!」──Jonas Bandi,來自TechTalk

「想了解依賴注入必讀之書。」──Braj Panda,來自Capgemini India

「這本書是你在.NET 開發框架上的依賴注入架構指引經典。」──Doug Ferguson,來自Improving Enterprises

「要讓軟體保持彈性應付多變的需求,就必須降低元件之間的依賴性。如果能夠把依賴性在使用時才注入,就能保持軟體發展的最大彈性,而這就是依賴注入。依賴注入是一項成果,應用這項成果最多的則是各式各樣的框架(尤其是Web框架),例如.NET Core、Spring Boot。依賴注入活用了眾多的設計模式,而這些設計模式則充分利用了OOP的多型來進行軟體的OOD。很少有作者可以把依賴注入寫得如此易學與完整,所以這本書毫無疑問成為該領域不可或缺的大部頭書籍,博碩文化引進本書翻譯為繁體中文,期待藉由這本書能大幅提升台灣程式設計師的軟體設計思維。」──博碩文化 總編輯 陳錦輝

Brand Slider