當你在不斷的試圖從你的應用程式中發現新的特徵時,你是否發現你提出的解決方法和一些以前你已經實現的東西是如此的類似呢?如果你是程式設計師(即使你才開始很短的時間),你都可能回答「是」。這看起來就是你使用了一些先前的程式碼來解決軟體開發過程中新發現的問題了。你可能已經認識到:你的解決方法是基本原理,是一個不僅僅是你而且是所有專業開發者都能廣泛重複應用的方法。
事實上,許多程式問題都不斷的反覆的遇到,而且許多用來解決這些問題的基本方法(或設計模式)都已經浮現出來。設計模式就是一個教你如何利用真實可靠的設計來組織你的程式碼的範本。
設計模式史
「設計模式」這個術語最初被設計用於建築學領域。 Christopher Alexander 在他1977的著作「A Pattern Language :Towns/Building/Construction」裡面描述了一些常見的建築設計問題,並解釋瞭如何用這些已有的,著名的模式集合來開始全新的有效的設計。 Alexander的觀點被很好的轉化到軟體開發上來,並且長期的合意的用原有的組件來構造新的解決方案。
所有的設計模式都有一些常用的特性:一個識別(a name),一個問題陳述(a problem statement)和一個解決方案(a solution)。
1.一個設計模式的標誌是重要的,因為它會讓其他的程式設計師不用進行太深入的學習就能立刻理解你的程式碼的目的(至少透過這個識別程式設計師會很熟悉這個模式)。 ?
2.問題描述是用來說明這個模式的應用的領域。 ?
3.解決方案描述了這個模型的執行。一個好的設計模式的論述應該要涵蓋使用這個模型的優點和缺點。 ?
展開