0916~0919_開學季語言展

Pragmatic TDD:以DDD寫出鬆散耦合、文件化和高品質的程式碼

Pragmatic Test-Driven Development in C# and .NET
  • 9 648
    720

活動訊息

想找書的時候,特別想偷看網友的書櫃... 原來大家都在看這本 ↓↓↓

用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看

內容簡介

Pragmatic TDD:以DDD寫出鬆散耦合、文件化和高品質的程式碼

Pragmatic Test-Driven Development in C# and .NET

 

使用C#和.NET的工具與函式庫

 

測試驅動開發(TDD)是一種宣言(manifesto),強調在逐步為產品增加功能時,你應該先從單元測試(unit test)開始。現今的專案範本(project template)預設都含有單元測試,而單元測試已成為預期會被實作的重要任務。因此,在許多職位需求中,你會毫不意外地看到TDD、單元測試等關鍵字,而TDD和單元測試亦成為面試、coding挑戰和程式競賽中的重要考題。採用TDD,不僅能強化良好的設計實踐,更能加速你提升技能,成為優秀程式設計架構師(coding architect)。

 

本書超越理論探討,專注於讓你透過實用的框架,如ASP.NET Core和Entity Framework,在實際環境中熟練應用TDD。從基礎知識開始,本書將指導你使用Visual Studio 2022建立一個服務預訂的網頁應用程式。為了更貼近真實的工作情境,你將使用EF、SQL Server和Cosmos,並運用各種設計模式,包括資源庫(repository)、服務(service)、建造者(builder)等。同時,本書也會介紹領域驅動設計(DDD),以及其他軟體設計最佳實踐,如SOLID和FIRSTHAND等。

 

讀完本書,你將建立足夠的信心來主導TDD的實作。此外,你也將掌握有力的商業和技術案例,可在向管理階層或同事展示單元測試或推動TDD時使用。藉由本書的指引,你將更有把握成為引領TDD實踐的領航者,並在軟體設計領域中脫穎而出。

 

目標讀者

本書適合那些希望借助TDD的力量,來開發高品質軟體的中高階.NET開發者。假設你已經掌握OOP(物件導向程式設計)及C#程式設計概念的基礎知識,可是你對TDD或單元測試並不了解,本書將深入介紹並探討所有TDD與單元測試的觀念。對於想要從頭開始建置以TDD為基礎的應用程式,或計畫要在自己的組織內部引入單元測試的開發者來說,本書會是非常實用的指南。

 

【下載範例程式檔案】

你可以從GitHub下載本書的範例程式碼,如果程式碼有更新,作者也會直接更新在儲存庫上:

github.com/PacktPublishing/Pragmatic-Test-Driven-Development-in-C-Sharp-and-.NET

 

【下載本書的彩色圖片】

本書使用的彩色截圖和圖表,可以在此下載PDF檔案:

packt.link/OzRlM

 

本書特色

 

★使用xUnit編寫單元測試,並掌握相依注入的技巧

★使用NSubstitute實作測試替身,並進行mocking(模擬化)

★結合DDD與最佳實踐,以TDD的風格撰寫單元測試

★將TDD與ASP.NET API、Entity Framework和資料庫結合使用

★透過探索GitHub的持續整合更上一層樓

★探索更進階的mocking使用情境

★在你的公司和團隊中積極推動TDD和單元測試

 

作者

Adam Tibi

 

Adam Tibi是一位居住在倫敦的軟體顧問,他在.NET、Python、Microsoft產品方案(技術堆疊)以及Azure等領域,擁有超過22年的豐富經歷。此外,他在團隊指導、架構設計、推廣敏捷以及良好的軟體開發實踐,當然還有寫程式等方面,也有深厚造詣。他曾在Shell、Lloyds Bank、Lloyd's of London、Willis Towers Watson等藍籌公司(blue-chip firm)和多家新創公司擔任顧問。身為一位顧問,他面對多樣化的產業客戶組合,深刻體會到TDD的紛亂難懂之處,他把這些寶貴的知識和經驗融入到了這本著作當中。

 

譯者簡介

 

莊志弘

 

莊志弘是「軟體主廚的程式料理廚房」部落格(dotblogs.com.tw/supershowwei)及「軟體廚房」粉絲團(www.facebook.com/appcookhouse)的經營者,至今(2023年)連續七次當選微軟最有價值專家。軟體開發的生涯從.NET 1.1開始,在.NET生態圈的開發經驗將近20年,曾經服務於國際貿易、系統整合、傳播媒體、投資顧問等行業。2021年創辦了「主廚的軟體廚房有限公司」,提供軟體專案開發、顧問等服務,懷抱著為各種問題找出 Best Practice 的夢想持續地在IT這條路上摸索著,同時也是敏捷開發的信仰者。

 

目錄

Part 1:TDD的基礎入門
Chapter 01:撰寫你的第一個TDD實作
Chapter 02:藉由實際例子了解相依注入
Chapter 03:單元測試入門
Chapter 04:實際在單元測試中使用測試替身
Chapter 05:解說測試驅動開發
Chapter 06:TDD的FIRSTHAND準則

Part 2:使用TDD建立應用程式
Chapter 07:領域驅動設計的實務觀點
Chapter 08:設計一個服務預訂應用程式
Chapter 09:使用Entity Framework和關聯式資料庫建置服務預訂應用程式
Chapter 10:使用資源庫和文件式資料庫建置服務預訂應用程式

Part 3:將TDD應用於你的專案
Chapter 11:使用GitHub Actions實作持續整合
Chapter 12:處理棕地專案
Chapter 13:推行TDD的紛雜繁擾之處

Appendix A:單元測試相關的常用函式庫
Appendix B:進階的Mocking使用情境

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9786263335707
    • 分級
    • 普通級
    • 頁數
    • 392
    • 商品規格
    • 23*17*2.1
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
※ 網友掛保證,絕不踩雷書單如下 ↓↓↓
預計 2025/09/30 出貨 購買後進貨 
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing