设计模式 (计算机) 在軟體工程中設計模式design pattern是對軟體設計中普遍存在反覆出現的各種問題所提出的解決方案這個術語是由埃里希伽瑪Erich Gamma等人在年代從建筑设计領域引入到計算機科學的 設計模式並不直接用來完成程式碼的編寫而是描述在各種不同情況下要怎麼解決問題的一種方案面向对象設計模式通常以類別或物件來描述其中的關係和相互作用但不涉及用來完成應用程式的特定類別或物件設計模式能使不穩定依賴於相對穩定具體依賴於相對抽象避免會引起麻煩的緊耦合以增強軟體設計面對並適應變化的能力 並非所有的軟體模式都是設計模式設計模式特指軟體設計層次上的問題還有其他非設計模式的模式如架構模式同时演算法不能算是一種設計模式因為演算法主要是用來解決計算上的問題而非設計上的問題 随着软件开发社群对设计模式的兴趣日益增长已经出版了一些相关的专著定期召开相应的研讨会而且沃德坎宁安Ward Cunningham为此发明了WikiWiki用来交流设计模式的经验