設計模式有什麼用 設計模式之初

2021-04-24 10:26:28 字數 1853 閱讀 4216

設計模式有什麼用?開始看到設計模式這四個字心裡總想知道這個問題,不過當真的知道了,就會覺得問這個問題有點傻......(恨不得拿頭去撞牆......) 

設計模式有什麼用?設計模式說白了就是一種前人設計**或者說軟體總結出來的模板(很有用的)。我們學習它就是問了經驗復用。為了讓自己的**能更好的適 應變化,提高程式的可維護性和可擴充套件性。學寫**就是這樣,就是用別人的經驗和權威的原則寫出能解決客戶需求的**,雖然創新思維是好東西,沒必要什麼都 自己來創造,不可以總結造電燈,自己造個程式語言再自己開發**。所以學習前者的經驗是我們的主流。

我們是基於一些oop是設計原則根據不同的需求通過不同的設計模式來到底所說的:更好的適應變化,提高程式的可維護性和可擴充套件性。

這是兩個關於庫和設計模式的問題:(出自:《headerfirst 設計模式》)

1.問:設計模式是庫嗎?

答:設計模式比庫的等級更高。設計模式告訴我們如何組織類和物件以解決某種問題。而且採納這些設計使他們更適合我們特定的應用。

2.問:.庫和框架不是設計模式?

答:庫和框架提供了我們某些特定的實現,讓我們的**可以輕易的應用,但這並不算設計模式。有時候,庫和框架本身會用到設計模式,學習設計模式可以幫助了解api是圍繞什麼設計結構的。

下面是一段介紹設計模式的文字:

設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、**設計經驗的總結。使用設計模式是為了可重用**、讓**更容易被他人理解、保證**可靠性。

毫無疑問,設計模式於己於他人於系統都是多贏的,設計模式使**編制真正工程化,設計模式是軟體工程的基石,如同大廈的一塊塊磚石一樣。

gof介面,這個介面使得這一子系統更加容易使用;

裝飾(decorate):當不能採用生成子類的方法進行擴充時,動態地給乙個物件新增一些額外的功能;

單件(singleton):保證乙個類僅有乙個例項,並提供乙個訪問他的全域性訪問點;

模板方法(template method):在方法中定義演算法的框架,而將演算法中的一些操作步驟延遲到子類中實現。

下面是關於模式的一些介紹:

模式(pattern)就是做事的一種方法,也即實現某個目標的途徑,或者技術。這種捕獲有效技術的思想可以應 用到許多領域當中,比如烹飪、生產焰火製品、開發軟體以及其他一些行業。對於任何乙個正邁向成熟的行業,人們總會開始尋找一些通用和有效的方法,來達到目 標並解決不同場合中的問題。由某個行業的從業人員組成的社群通常會發明一些專業術語,以便於同行之間進行交流。這其中的某些專業術語將稱為模式,即實現特 定目標的公認技術。隨著某個行業及其專業術語的發展,一些作者便開始起到重要的作用。他們將某個行業的模式記錄歸檔,參與標準化專業術語,並且公開傳播這 些有效的技術。

christopher alexander是最早將某個行業的最佳實踐記錄為模式的作者之一。他研究的領域是建築(而不是軟體)的架構。其著作a pattern language: towns, buildings, construction[alexander、ishikouwa和silverstein,1977]介紹了成功設計房屋和城鎮的模式。該著作影響深 遠,甚至影響到軟體開發行業。該書之所以能夠影響其他行業,部分原因是因為它給出了一種獨特的觀察目標的方式。

有人可能會認為,應用建築模式的目 標就是「設計建築物」。但是alexander在書中明確指出建築模式的目的是服務於建築物和城鎮的主人,並讓他們感到滿意。該書指出模式是獲取和交流行 業知識的絕佳途徑。另外,書中還提到,合理地認識並記錄某項工作的目標非常關鍵,需要以哲學觀從整體考慮,並可能面臨難以捉摸的挑戰。

模 式方法引起了軟體社群的共鳴,許多記錄軟體開發模式的圖書已經相繼出版。這些書中記錄了軟體過程、軟體分析、高層軟體架構以及類層次設計的最佳實踐。每年 都有這方面的新書面世。如果需要選擇一本有關模式的圖書,那麼你應該先花些時間去瀏覽一下對已出版的這方面圖書的書評,然後再選擇一本能夠最大程度幫助自 己的圖書。

學習設計模式有什麼用

搞程式設計的同學都應該聽過設計模式,那你真的認識到學習設計模式有什麼用嗎?在我看來起碼有下面兩方面的作用 1,為開發者提供乙個統一術語的交流平台 設計模式針對一些特定的場景提供了一些標準的術語,例如,單例模式表示乙個單例物件只能初始化一次,如果大家都理解單例模式的話,大家交流起來就比較方便了,也容易...

設計模式之初識

前言 隨著我們隊面對物件的進一步了解,開始了設計模式的學習。學習設計模式我們需要帶著設計模式是什麼,我們為什麼要學習設計模式,它們有什麼好處,帶著這些問題學習可以幫助我們更好地理解和應用。建立型模式 單例模式 工廠方法模式 抽象工廠模式 建造者模式 原型模式 結構型模式 介面卡模式 橋接模式 裝飾模...

設計模式之初理解

簡單的說,它是乙個 設計經驗的乙個總結 一種套路 經過反覆的使用,被多數人知曉,不斷的分類而衍生出來。是為人們解決某類重複出現問題的一套成功或有效的解決方案。每個模式都描述了我們在程式設計過程中出現的各種問題,使用設計模式,可以增加 的可重用性 讓 更容易的被他人理解 保證 的可靠性。設計模式使得程...