關於軟體設計方面的書很多,比如《重構》,比如《設計模式》。至於軟體開發方式,那就更多了,什麼極限程式設計、精益方法、敏捷方法。隨著時間的推移,很多的方法又會被重新提出來。
其實,就我個人看來,不管什麼方法都離不開人。乙個人寫不出二叉樹,你怎麼讓他寫?敏捷嗎?你寫一行,我寫一行。還是迭代?寫三行,刪掉兩行,再寫三行。專案的成功是偶然的,但是專案的失敗卻有很多原因,管理混亂、需求混亂、設計低劣、**質量差、測試不到位等等。就軟體企業而言,沒有比優秀的文化和出色的企業人才更重要的了。
從軟體設計層面來說,一般來說主要包括三個方面:
(1)軟體的設計受眾,是小孩子、老人、女性,還是專業人士等等;
(2)軟體的基本設計原則,以人為本、模組分離、層次清晰、簡約至上、適用為先、抽象基本業務等等;
(3)軟體編寫模式,比如裝飾模式、責任鏈、單件模式等等。
從某種意義上說,設計思想構成了軟體的主題。軟體原則是我們在開發中的必須遵循的準繩。軟體編寫模式是開發過程中的重要經驗總結。靈活運用設計模式,一方面利於我們編寫高質量的**,另一方面也方便我們對**進行維護。畢竟對於廣大的軟體開發者來說,軟體的維護時間要比軟體編寫的時間要多得多。編寫過程中,難免要有新的需求,要和別的模組打交道,要對已有的**進行復用,那麼這時候設計模式就派上了用場。我們討論的主題其實就是設計模式。
[cpp]view plain
copy
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語言能夠完成相同的抽象操作,那不是效果一樣的嗎?
[cpp]view plain
copy
typedef
struct
_music_file
music_file;
C語言和設計模式(工廠模式)
工廠模式是比較簡單,也是比較好用的一種方式。根本上說,工廠模式的目的就根據不同的要求輸出不同的產品。比如說吧,有乙個生產鞋子的工廠,它能生產皮鞋,也能生產膠鞋。如果用 設計,應該怎麼做呢?cpp view plain copy typedef struct shoe shoe 就像上面說的,現在有膠...
C語言和設計模式(裝飾模式)
裝飾模式是比較好玩,也比較有意義。其實就我個人看來,它和責任鏈還是蠻像的。只不過乙個是比較判斷,乙個是迭代處理。裝飾模式就是那種迭代處理的模式,關鍵在哪呢?我們可以看看資料結構。cpp view plain copy typedef struct object object 裝飾模式最經典的地方就是...
C語言和設計模式(外觀模式)
外觀模式是比較簡單的模式。它的目的也是為了簡單。什麼意思呢?舉個例子吧。以前,我們逛街的時候吃要到小吃一條街,購物要到購物一條街,看書 看電影要到文化一條街。那麼有沒有這樣的地方,既可以吃喝玩樂,同時相互又靠得比較近呢。其實,這就是悠閒廣場,遍布全國的萬達廣場就是幹了這麼一件事。首先,我們原來是怎麼...