C語言和設計模式(之開篇)

2021-09-27 10:32:47 字數 1067 閱讀 2035

關於軟體設計方面的書很多,比如《重構》,比如《設計模式》。至於軟體開發方式,那就更多了,什麼極限程式設計、精益方法、敏捷方法。隨著時間的推移,很多的方法又會被重新提出來。

其實,就我個人看來,不管什麼方法都離不開人。乙個人寫不出二叉樹,你怎麼讓他寫?敏捷嗎?你寫一行,我寫一行。還是迭代?寫三行,刪掉兩行,再寫三行。專案的成功是偶然的,但是專案的失敗卻有很多原因,管理混亂、需求混亂、設計低劣、**質量差、測試不到位等等。就軟體企業而言,沒有比優秀的文化和出色的企業人才更重要的了。

從軟體設計層面來說,一般來說主要包括三個方面:

(1)軟體的設計受眾,是小孩子、老人、女性,還是專業人士等等;

(2)軟體的基本設計原則,以人為本、模組分離、層次清晰、簡約至上、適用為先、抽象基本業務等等;

(3)軟體編寫模式,比如裝飾模式、責任鏈、單件模式等等。

從某種意義上說,設計思想構成了軟體的主題。軟體原則是我們在開發中的必須遵循的準繩。軟體編寫模式是開發過程中的重要經驗總結。靈活運用設計模式,一方面利於我們編寫高質量的**,另一方面也方便我們對**進行維護。畢竟對於廣大的軟體開發者來說,軟體的維護時間要比軟體編寫的時間要多得多。編寫過程中,難免要有新的需求,要和別的模組打交道,要對已有的**進行復用,那麼這時候設計模式就派上了用場。我們討論的主題其實就是設計模式。

class music_file

virtual ~music_file() {}

virtual void read_file() {}

virtual void play() {}

virtual void stop() {}

virtual void back() {}

virtual void front() {}

virtual void up() {}

virtual void down() {}    

};

其實,你想想看,如果用c語言能夠完成相同的抽象操作,那不是效果一樣的嗎?

typedef struct _music_file

music_file;

希望和大家共勉。

C語言和設計模式(之模板模式)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!模板對於學習c 的同學,其實並不陌生。函式有模板函式,類也有模板類。那麼這個模板模式是個什麼情況?我們可以思考一下,模板的本質是什麼。比如說,現在我們需要編寫乙個簡單的比較模板函式。template intcompare type a,type b...

C語言和設計模式(之組合模式)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!組合模式聽說去很玄乎,其實也並不複雜。為什麼?大家可以先想一下資料結構裡面的二叉樹是怎麼回事。為什麼就是這麼乙個簡單的二叉樹節點既可能是葉節點,也可能是父節點?typedef struct nodenode 那什麼時候是葉子節點,其實就是left ...

C語言和設計模式

關於軟體設計方面的書很多,比如 重構 比如 設計模式 至於軟體開發方式,那就更多了,什麼極限程式設計 精益方法 敏捷方法。隨著時間的推移,很多的方法又會被重新提出來。其實,就我個人看來,不管什麼方法都離不開人。乙個人寫不出二叉樹,你怎麼讓他寫?敏捷嗎?你寫一行,我寫一行。還是迭代?寫三行,刪掉兩行,...