ISBN: 9789864344987
出版日期: 2020-07-30
作者: Steven van Deursen,Mark Seemann
譯者: 錢亞宏
裝訂: 平裝.單色印刷.680頁.23.
【名家名著】 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)專文推薦
名人盛讚
「我非常推薦與認同書裡的脈絡安排與學習順序,其實戰性毋庸置疑。」──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。很少有作者可以把依賴注入寫得如此易學與完整,所以這本書毫無疑問成為該領域不可或缺的大部頭書籍,博碩文化引進本書翻譯為繁體中文,期待藉由這本書能大幅提升台灣程式設計師的軟體設計思維。」──博碩文化 總編輯 陳錦輝
作者簡介
Steven van Deursen,Mark Seemann
作者簡介
Steven van Deursen
自2002年起,便於荷蘭從事自由聘僱的.NET開發者與軟體架構設計師至今。生活於荷蘭奈美亨市,不論是基於興趣或出於謀生,他都很享受編寫程式的生涯。但除了編寫程式之外,Steven 也會透過武術鍛鍊身心、出門享受美食、並且還是醇美威士忌的愛好者。
Mark Seemann
居住於丹麥哥本哈根市,是一名程式設計師、軟體架構設計師、以及講師。自1995年起他便從事軟體業界至今,而後於2003年起投身於TDD測試驅動開發推動,而後在Microsoft中任職顧問、開發者、以及架構設計師有六年職涯。Mark如今在哥本哈根持續發揮其專業進行軟體開發。他熱愛閱讀、繪畫、彈奏吉他、品嚐美酒與美食。

Zone | Order Total (RM) | Delivery Fee (RM) |
---|---|---|
West Malaysia | Flat Rate | 6.00 |
Zone | Items/Weight | Delivery Fee (RM) |
---|---|---|
East Malaysia | First 1.00 kg | 13.00 |
Extra 1.00 kg | 5.00 | |
Singapore | First 1.00 kg | 25.00 |
Extra 1.00 kg | 5.00 | |
Australia, New Zealand | First 1.00 kg | 159.77 |
Extra 0.50 kg | 52.65 | |
Austria, Denmark, Finland, Ireland, Switzerland, Russia | First 1.00 kg | 157.78 |
Extra 0.50 kg | 34.31 | |
Brunei, Cambodia, Laos, Mongolia | First 1.00 kg | 175.10 |
Extra 0.50 kg | 87.14 | |
Belgium,France, Germany, Netherlands, Spain, U.K | First 1.00 kg | 150.94 |
Extra 0.50 kg | 30.46 | |
China | First 1.00 kg | 96.44 |
Extra 0.50 kg | 25.35 | |
Bangladesh, Brazil, Iraq, Pakistan, Qatar, S.Arabia, UAE, Sri Lanka | First 1.00 kg | 118.52 |
Extra 0.50 kg | 24.96 | |
South Africa | First 1.00 kg | 118.52 |
Extra 0.50 kg | 24.96 | |
Philippines | First 1.00 kg | 91.42 |
Extra 0.50 kg | 15.29 | |
Canada, United States, Mexico | First 1.00 kg | 162.58 |
Extra 0.50 kg | 35.90 | |
Hong Kong | First 1.00 kg | 80.63 |
Extra 0.50 kg | 29.06 | |
India | First 1.00 kg | 113.30 |
Extra 0.50 kg | 22.28 | |
Indonesia | First 1.00 kg | 107.35 |
Extra 0.50 kg | 24.87 | |
Japan | First 1.00 kg | 112.97 |
Extra 0.50 kg | 35.03 | |
Macau | First 1.00 kg | 92.93 |
Extra 0.50 kg | 13.82 | |
Singapore | First 1.00 kg | 74.75 |
Extra 0.50 kg | 21.49 | |
Taiwan | First 1.00 kg | 94.42 |
Extra 0.50 kg | 34.76 | |
Thailand | First 1.00 kg | 94.10 |
Extra 0.50 kg | 28.25 | |
Vietnam | First 1.00 kg | 98.94 |
Extra 0.50 kg | 14.34 |