天天看小說

第1章

現代科學技術迅猛發展,計算機信息技術發揮著巨大的作用,並已經滲透到各行各業,推動著這些行業的迅速發展。很多讀者朋友熟練地掌握了語言,卻對設計模式不夠重視,導致在實際的工作中沒有真正應用到起關鍵作用的設計模式。

而瞭解了設計模式,在宏觀上就能把握面向對象編程的精髓。對於大多數不懂編程的朋友來說,瞭解了設計模式,也就是體會到了編程世界的一個大的框架。

究竟什麼是設計模式呢?

設計模式就是由某些需要嚴密整合的具體接口開始,最後過渡到一種通用的結構。不管最後所選取的設計模式是什麼,最初的目的都是相同的,就是爲了解決一個設計問題。它所創造的一系列詞彙可以幫助我們同其他開發者相互交流。

設計模式體現的是一種思想,思想是指導行爲的一切。理解和掌握設計模式,記住23種或者更多的設計場景和解決策略是不夠的,更要接受一種思想的薰陶和洗禮。用這種思想進行設計和開發,這纔是重要的。

本書通過故事講述程序如何設計。希望能給渴望瞭解面向對象程序設計的初學者及困惑、無法複用的代碼編程體驗者一些好的建議和提示。

本書主要採用JAVA語言介紹設計模式中比較常見的23種設計模式,分29章具體介紹,以現實生活中常見的事情爲例來具體分析講解。在本書中,以“男人和女人通過媒人約會”爲例來說明。這樣比只告訴概念性的內容更加容易理解和記憶。爲了讓讀者能夠更好地理解這23種常見的設計模式,本書還舉了許多的例子,如我們大學生畢業面臨的問題:大學畢業了怎麼辦?參加招聘會或是大學生畢業後會選擇什麼樣的路?等等。每種設計模式都以一個現實生活中的故事爲例,引入該模式的概念,目的是使概念能夠通俗易懂,然後是舉一至兩個較簡單易懂的代碼例子來具體體現該模式。之所以會採用Java語言是因爲Java比C++計算機語言簡單,沒有像C++語言中有一些不容易理解或容易出錯的概念和語法。Java是一種較新的計算機語言,所以它在面向對象和多線程特性上比其他現有計算機語言顯得更純粹一些,在網絡平臺無關性和安全性方面的優點也比大部分計算機語言更顯突出。而Java語言本身是一種可以滿足這種需求的計算機語言。學習Java程序設計,應用Java語言實現算法也比較容易,從而節省編程時間,編寫出來的Java代碼比較容易得到複用和移植。

本書是一些基礎性的內容,不適合有多年面向對象開發經驗和對常用的設計模式瞭如指掌的人。它所面向的讀者是那些想提高的初中級Java程序員。

本書人物及背景

小A:原名李華,22歲,廣東人,廣州某大學計算機專業大學三年級學生,成績一般,但是好學上進。

大B:原名黃大遠,29歲,廣東人,廣州某大學畢業,是小A的師兄?!‘厴I後長期從事軟件開發和管理工作,住在小A家附近,小A以向大B學習爲由,經常找大B聊天。大B也很欣賞小A的好學上進,所以也常常鼓勵小A,幫小A解決學習上遇到的困難。

本書結構

本書主要分爲七個部分來講述23種常見設計模式。

第一部分主要是第一章設計模式的概述。

第二部分是(第2章~第6章)介紹接口型模式。主要包括:適配器模式、外觀模式、組合模式、橋接模式。

第三部分是(第7章~第12章)介紹責任型模式。主要包括:單體模式、觀察者模式、中介者模式、代理模式、享元模式。

第四部分是(第13章~第18章)介紹構造型模式。主要包括生成器模式、工廠方法模式、抽象工廠模式、原型模式、備忘錄模式。

第五部分是(第19章~第24章)介紹操作型模式。主要包括模板方法模式、狀態模式、策略模式、命令模式、解釋器模式。

第六部分是(第25~第29章)介紹擴展型模式。主要包括裝飾器模式、迭代器模式、訪問者模式和設計模式總結。

第七部分是附錄。

編者

第94章第186章第104章第180章第194章第43章第22章第188章第44章第200章第171章第27章第195章第70章第215章第172章第205章第91章第85章第140章第186章第153章第146章第169章第42章第67章第60章第69章第48章第185章第223章第51章第176章第76章第157章第58章第47章第30章第170章第65章第27章第118章第107章第224章第121章第190章第36章第163章第101章第154章第83章第160章第117章第43章第15章第76章第75章第157章第140章第62章第97章第65章第125章第52章第83章第32章第199章第35章第167章第35章第117章第143章第65章第205章第104章第10章第14章第92章第18章第201章第205章第64章第139章第9章第138章第81章第82章第9章第67章第139章第57章第67章第34章第108章第161章第172章第221章第167章第21章第222章
第94章第186章第104章第180章第194章第43章第22章第188章第44章第200章第171章第27章第195章第70章第215章第172章第205章第91章第85章第140章第186章第153章第146章第169章第42章第67章第60章第69章第48章第185章第223章第51章第176章第76章第157章第58章第47章第30章第170章第65章第27章第118章第107章第224章第121章第190章第36章第163章第101章第154章第83章第160章第117章第43章第15章第76章第75章第157章第140章第62章第97章第65章第125章第52章第83章第32章第199章第35章第167章第35章第117章第143章第65章第205章第104章第10章第14章第92章第18章第201章第205章第64章第139章第9章第138章第81章第82章第9章第67章第139章第57章第67章第34章第108章第161章第172章第221章第167章第21章第222章
主站蜘蛛池模板: 婺源县| 霍城县| 林甸县| 大丰市| 水城县| 肃宁县| 苍山县| 武威市| 积石山| 南陵县| 南昌县| 西峡县| 平和县| 泉州市| 邹城市| 宜宾市| 巫溪县| 雷州市| 襄樊市| 即墨市| 达日县| 合川市| 六安市| 正蓝旗| 子长县| 勐海县| 江津市| 县级市| 竹溪县| 乌拉特中旗| 抚顺市| 宾阳县| 普兰店市| 韩城市| 临清市| 洛扎县| 宝山区| 武陟县| 邳州市| 铅山县| 陆河县|