隨著編寫的程式越來越多,不難發現有些問題會在多個專案中重複出現,頂尖軟體專家過去也同樣經歷過,他們對這些問題提出一系列的解法,這些解法稱為 "設計模式"。
設計模式是對軟體設計中重複出現的問題所提出的解法。這些解法可視為針對特定問題的一種思路,在遇到類似問題時,根據自身專案需求,將這些思路具體化。
每個設計模式都是針對特定問題的解法,根據Refactoring.Guru,依處理問題的種類可將其區分為三類:
了解設計模式不但可以開闊軟體設計的想法,有時與其他開發者交流時,透過設計模式"共通語言",可更有效率的進行討論。