# Module 3 提升程式碼品質與架構

# 序

在前兩個模組，我們學會了如何設計資料庫與 API，讓系統成功地「動起來」。但隨著需求不斷變更與功能堆疊，你的程式碼是否正逐漸變成一團難以維護的「Spaghetti Code」？只要改一個小功能，就會讓整個系統壞光光？

這就是「能動的程式碼」與「好品質的程式碼」之間的巨大鴻溝。

在 Module 3 中，我們將暫時放下新技術的追求，回頭檢視程式碼的「架構體質」。我們將從現代框架的核心——**依賴注入 (Dependency Injection) 與 IoC** 開始，理解如何透過解耦（Decoupling）讓程式碼模組化。

接著，我們會深入探討 **SOLID 設計原則**，學習如何識別並消除程式碼中的「壞味道」。最後，我們將手中雜亂無章的 `If/Else` 邏輯與複雜的物件建立過程，透過**設計模式 (Design Patterns)** 進行重構。

寫程式是跟電腦對話，但寫出好架構是為了跟未來的自己（以及隊友）對話。讓我們開始這場程式碼的淨化之旅。
