前言
該博客為我在學習設計模式中的一些總結,必然會有疏漏,望各位指出感激不盡!
全文使用C++編程語言,當然,設計模式只是一種思想與編程語言沒有太大的關系,
一、何為設計模式?
假設你是一個水系魔法師,你施展’Water ball’這個魔法時,你要經歷“生成=>大小設定=>發射速度設定=>發射”這些步驟
class Waterball{
public:
Waterball(){...}
bool setsize(const int& size){...}
bool setspeed(const int& speed){...}
bool shoot(){...}
...
private:
int size;
int speed;
...
};
而這個水球事實上就可以被稱為是一個類,當然一個水球不能達到一個很強大的效果,但如果它與其他魔法相互配合,就可以達到一個更加華麗、更加實用的魔法,類似于游戲中的連招,比如我們要生成一個’splash flow’魔法時,我們要將水魔法進行旋轉壓縮,此時我們需要和風魔法互相配合,達到更好的發射距離,

這種組合是前人交給我們的一種配合方法,正是解決水球發射距離限制的一種好的解決方法,這正如同組合魔法一般,為解決各種各樣的問題,軟體開發員在各種繼承、組合、委托的結合下誕生出各式各樣的解決方案叫設計模式,
小結:
設計模式是其他軟體開發人員在軟體開發程序中面臨的一些問題的解決方案,這些解決方案是經過很多軟體開發人員不斷總結出來的
二、為何學習設計模式?
首先,設計模式是一種對某種情況下較為優秀的解決方案,是由各位有經驗的軟體開發員總結而得,在互相交流時也可以更好的交流,
比如,你想要和其他魔法師說‘splash flow’這個魔法,但你并不知道這個魔法的名稱,你和他說:“這是一種把風魔法和水魔法相互結合的一種魔法實作”,當然由于這個例子簡單,但如果魔法更為復雜的話,這似乎不是很合理吧,但如果你說‘splash flow’,那么他也能馬上了解是什么魔法,

于是學好設計模式對于和同行之間的代碼交流能夠更加見簡便,對于解決問題也有好的幫助,對于這一點對于編程好手還是編程菜鳥都是有著很好的提升,
總結
- 設計模式是其他軟體開發人員在軟體開發程序中面臨的一些問題的解決方案,這些解決方案是經過很多軟體開發人員不斷總結出來的,
- 學好設計模式可以更好的與其他人交流溝通,對解決問題也起積極作用,
希望本文對你有用

維基百科中有對設計模式的描述可以拿來參考:
https://en.wikipedia.org/wiki/Software_design_pattern(需要VPN)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/253986.html
標籤:其他
