設計模式大系 一 初識設計模式

2021-10-18 01:45:59 字數 1619 閱讀 3813

設計模式梗概:

該部落格為我在學習設計模式中的一些總結,可能會有疏漏,望各位指出感激不盡!

全文使用c++程式語言(可能使用其他語言),當然,設計模式只是一種思想與程式語言沒有太大的關係。

假設你是乙個水系魔法師,你施展』water ball』這個魔法時,你要經歷「生成=>大小設定=>發射速度設定=>發射」這些步驟

class

waterball

bool

setsize

(const

int& size)

bool

setspeed

(const

int& speed)

bool

shoot()

...private

:int size;

int speed;...};

而這個水球事實上就可以被稱為是乙個類。當然乙個水球不能達到乙個很強大的效果,但如果它與其他魔法相互配合,就可以達到乙個更加華麗、更加實用的魔法,類似於遊戲中的連招。比如我們要生成乙個』splash flow』魔法時,我們要將水魔法進行旋轉壓縮,此時我們需要和風魔法互相配合。達到更好的發射距離。

這種組合是前人交給我們的一種配合方法,正是解決水球發射距離限制的一種好的解決方法,這正如同組合魔法一般,為解決各種各樣的問題,軟體開發員在各種繼承、組合、委託的結合下誕生出各式各樣的解決方案叫設計模式

小結:

設計模式是其他軟體開發人員在軟體開發過程中面臨的一些問題的解決方案,這些解決方案是經過很多軟體開發人員不斷總結出來的

首先,設計模式是一種對某種情況下較為優秀的解決方案,是由各位有經驗的軟體開發員總結而得,在互相交流時也可以更好的交流。

比如,你想要和其他魔法師說『splash flow』這個魔法,但你並不知道這個魔法的名稱,你和他說:「這是一種把風魔法和水魔法相互結合的一種魔法實現」,當然由於這個例子簡單,但如果魔法更為複雜的話,這似乎不是很合理吧。但如果你說『splash flow』,那麼他也能馬上了解是什麼魔法。

於是學好設計模式對於和同行之間的**交流能夠更加見簡便,對於解決問題也有好的幫助。對於這一點對於程式設計好手還是程式設計菜鳥都是有著很好的提公升。

設計模式是其他軟體開發人員在軟體開發過程中面臨的一些問題的解決方案,這些解決方案是經過很多軟體開發人員不斷總結出來的。

學好設計模式可以更好的與其他人交流溝通,對解決問題也起積極作用。

希望本文對你有用

維基百科中有對設計模式的描述可以拿來參考:

需要vpn)

設計模式 初識

大致將設計模式看了一遍,雖說是第一遍看,但是好像也有些精讀的嫌疑,沒有掌握快速閱讀的精髓,但這個不是重點。大話模式 首先想到的是 大話西遊 確實這本書有些這樣的傾向,就像書中敘述的,這不是一本程式集,這不是一本故事集,這是一本通過故事講述查詢如何設計的方法集。故事都太經典了,以至於看完書之後,問模式...

設計模式 初識

從何而來?說到模式,我就有一種專業自豪感了。因為學的專業是工程管理,和建築方面打交道比較多,以至於每次有人問我學的什麼專業,我都會開玩笑的說,其實就是搬磚的。那麼為什麼說到模式,我就有一種專業自豪感呢?因為模式的思想就是基於建築的思想而產生的。在建築過程中,慢慢發現人們對於舒適住宅和城市環境存在一些...

設計模式 初識

開閉原則就是說對擴充套件開放,對修改關閉。在程式需要進行拓展的時候,不能去修改原有的 而是要擴充套件原有 實現乙個熱插拔的效果。所以一句話概括就是 為了使程式的擴充套件性好,易於維護和公升級。想要達到這樣的效果,我們需要使用介面和抽象類等,後面的具體設計中我們會提到這點。不要存在多於乙個導致類變更的...