本篇概述#
本篇以一個批次薪資系統(Payroll System)為案例,展示如何將前兩篇所學的敏捷實踐與設計原則付諸實踐。前幾章先介紹案例中會用到的設計模式,接著是完整的需求分析、迭代設計與 C# 實作過程。
章節導覽#
設計模式#
- Chapter 21 - Command and Active Object:Command 模式的多種應用——簡單命令、交易、復原、Active Object 多工
- Chapter 22 - Template Method and Strategy:繼承 vs 委派的取捨——Template Method 與 Strategy 模式的比較
- Chapter 23 - Facade and Mediator:Facade 簡化介面、Mediator 解耦物件間的互動
- Chapter 24 - Singleton and Monostate:確保唯一實例的兩種做法與其取捨
- Chapter 25 - Null Object:以多型取代 null 檢查
薪資系統案例#
- Chapter 26 - Payroll Case Study: Iteration 1:從規格到使用案例分析,找出底層抽象
- Chapter 27 - Payroll Case Study: Implementation:完整的 TDD 實作過程,包括交易處理、主程式與資料庫
補充: 本篇的案例研究並非以完成品呈現,而是展示設計「進行中」(in progress)的樣貌——你會看到設計者犯錯、發現錯誤、然後修正,這才是真實的設計過程。