設計模式_(計算機)

在軟體工程中 ， 設計模式 （ design pattern ） 是對軟體設計中普遍存在 （ 反覆出現 ） 的各種問題 ， 所提出的解決方案 。 這個術語是由埃裏希 · 伽瑪 （ Erich Gamma ） 等人在1990年代從建築設計領域引入到計算機科學的 。 設計模式並不直接用來完成程式碼的編寫 ， 而是描述在各種不同情況下 ， 要怎麼解決問題的一種方案 。 面向對象設計模式通常以類別或物件來描述其中的關係和相互作用 ， 但不涉及用來完成應用程式的特定類別或物件 。 設計模式能使不穩定依賴於相對穩定 、 具體依賴於相對抽象 ， 避免會引起麻煩的緊耦合 ， 以增強軟體設計面對並適應變化的能力 。 並非所有的軟體模式都是設計模式 ， 設計模式特指軟體 “ 設計 ” 層次上的問題 。 還有其他非設計模式的模式 ， 如架構模式 。 同時 ， 演算法不能算是一種設計模式 ， 因爲演算法主要是用來解決計算上的問題 ， 而非設計上的問題 。 隨着軟件開發社群對設計模式的興趣日益增長 ， 已經出版了一些相關的專著 ， 定期召開相應的研討會 ， 而且沃德 · 坎寧安 （ Ward Cunningham ） 爲此發明了WikiWiki用來交流設計模式的經驗 。