讓我們首先來看一下對于模式的定義,模式是一種問題的解決思路,它已經(jīng)適用于一個實踐環(huán)境,并且可以適用于其它環(huán)境。那么我們就可以得到設計模式的相關信息,設計模式通常是對于某一類軟件設計問題的可重用的解決方案,將設計模式引入軟件開發(fā)和設計過程,其目的在于要充分利用已有的軟件開發(fā)經(jīng)驗。
?????????? 設計模式的種類很多,包括分布式編程模式、用戶界面模式、數(shù)據(jù)模型模式三大類。目前流行的面向對象設計模式,僅1995年“gang of four” 描述的就有二十多種,稱之為GoF模式;與GoF模式相對應的是通用責任分配軟件系列模式GRASP。GRASP模式著重考慮設計類的原則及如何分配類的功能,而GoF模式則著重考慮設計的實現(xiàn)、類的交互及軟件質量。可以說,GoF模式就是符合GRASP模式要求的面向對象設計模式。
??????????? 設計模式的作用:
(1)重用設計,它比簡單的重用代碼更有意義;
(2)為設計提供共同的詞匯,每個模式名就是一個設計詞匯,其概念使得程序員間的交流更加方便;
(3)在開發(fā)文檔中采用設計模式詞匯可以讓其他人更任意理解你的想法,理解為什么你會這么做,你都做了些什么。編寫開發(fā)文檔也更加任意;
(4)應用設計模式可以讓重構系統(tǒng)變得容易,可確保開發(fā)正確的代碼,并降低在設計或實現(xiàn)中出錯誤的可能性;
(5)可以節(jié)省大量時間。