Python 是一門運用廣泛、物件導向的腳本式語言。在軟體工程中,所謂的設計模式即是用以解決軟體設計問題的推薦方案。儘管並非是什麼新事物,設計模式卻仍然是軟體工程領域的熱門議題,並且可作為軟體工程師解決常見問題的便捷參考資源。
本書將帶領讀者深入解析每一種設計模式,並佐以真實世界中的範例。本書的目標是透過更加低階的細節與概念、來建構出符合 Python 精神的程式碼,而非只是承襲那些來自 Java 或 C++ 的實作。內容包含了疑難排解、最佳實踐、系統架構、以及設計的多種面向。藉由本書的內容,讀者便能夠充分瞭解到 Python 設計模式的概念與框架,以及相關的問題和解決方案。本書一共有 16 種設計模式,能夠用來解決日常工作中的諸多問題。
• 探索用來建立物件的工廠方法與抽象工廠。
• 利用原型模式複製物件。
• 藉由轉接器模式使不相容的介面變得相容。
• 利用代理模式來保障介面。
• 藉由策略模式來動態選擇演算法。
• 利用裝飾器模式對物件進行延展,卻無須使用子類別。
• 利用 MVC 模式保持 UI 與邏輯之間的分離。