2008年8月1日 星期五

O'REILLY - 深入潛出設計模式

軟體(software),就是以程式碼編成的程式。透過軟體,使用者可以充分利用電腦設備完成所需的工作。
而在軟體發展的進程裡,研發人員最需要重視的,便是軟體的可用性。因為在日新月異的資訊時代,若是沒有這項特性,就必須要重新撰寫許多功能相似,甚至是相同的功能,結果就會在軟體開發的時程上,輸給競爭對手一大截。
設計模式(Design Pattern)是加強軟體可用性的一種簡單、快速、通用的好策略。它事實上應該是軟體設計師們經年累月下,找出來的一些常用且好用的程式結構。尤其,物件導向的概念(註1)已經普遍、成熟,再配合設計模式來進行軟體開發,豈不如虎添翼?
比方,我們若寫一串程式時,把許多的指令(command)塞在同一支主程式裡。如此,未來我們要新增、修改或刪除程式中的某一項指令時,勢必要直接修改該主程式。但透過設計模式,我們可以把指令動態的放入程式裡,且由於指令非直接寫死,便可以從外部干涉放入指令的流程,而不需要更動主程式。
可惜,設計模式的作者剛提出來這套做法時,或許他們老人家腦袋都已經抽象化了,寫出來的東西沒幾個人看得懂,害得這個些模式,沒能快速的根植。
本書的目的就是以平易近人的方式介紹設計模式。作者群非常細心體貼,彷彿擔心讀者們會看不懂、看不下去或是最可怕的---似懂非懂。書中除了介紹設計模式的定義並做出示範外,還儘可能的把所有的盲點解釋清楚,更重要的是,他們還能寫出這些設計模式的核心理念。唯有讓讀知道這些設計模式的真價值,才不會讓學習軟體開發的學生,陷入盲目使用的窘境。
這本書推薦給對程式設計有興趣的讀者,尤其是對設計模式的定義感到頭痛的初學者們。而對程式沒有興趣的人們.......對不起QQ,因為太久沒發文了...唔哇!Jackmis破戒啦...程式入侵BLOG....QQ(不過這真的是一本好書呀...)(努力朝向用Design Parttern設計推理小說中...)(共勉之...)


註1:物件導向把程式碼拆成多個類別(物件),各個物件再以各種合作、協調的方式成為一個大程式。就好像把人體拆成心、肝、脾、肺、腎...,結合後成為一個人體。這樣的好處很多,其中一種就是,若未來要換腎,只要把腎的程式修改即可。

沒有留言: