21天入門java
Ⅰ 21天學通java 2這本書怎麼樣
很好,學java開始不需要買很多書,等你覺得某本書的知識不夠的時候再考慮買別的書進階
Ⅱ 學習JAVA編程,(21天學通Java , java從入門到精通,think in java)這三本書有必要三本都看嗎
你說的三本書都是經典中的經典 必須都看 但先看21天 看think in java 的書之前還是應該看看think in c++因為那個作者是玩c++的 玩通混合編碼 還在糾結面向對象程序設計嗎。c++博大進深,那本書里深刻講解了面向對象的設計。從c到c++。你才能理解為什麼要面向對象。面向對象究竟是什麼。程序不是語言,是思想。更為深入的一個說法是數據結構+演算法=程序 可見語言真的在程序中不是很重要 要深入 要比別人更好 才能獲得成功 如果我會你會大家會 那如何才能區別你我的價值
所以 看什麼語言不重要 你要真想好好學 真想要賺大錢 獲取別人的認同 還是好好學習數據結構吧
計算機組成原理你也應該清除。 我現在正在惡補數據結構 以前真的後悔上課沒好好聽。
Ⅲ 學會《21天學通JAVA》,能找到工作嗎
首先我要告訴你,如果你是本科應屆實習生,這本書稍微能理解些能背一點知識點,找工作沒有問題。然後,如果你不是實習生,那麼你不能學會就找到工作,你必須要精通了這本書上的全部內容才能找到工作。計算機行業並不是那麼輕易就能立足的,每個程序猿都要話費很多功夫跟時間在技術研究裡面。如果你不能放下心來專研,210天你都找不到工作。
Ⅳ 21天學通Java的介紹
21天學通Java是Java語言的入門教程,由淺入深,循序漸進地講授如何使用Java語言進行程序開發。全書內容包括Java開發環境、Java基本語法知識、Java面向對象特點、Java界面開發,以及Java資料庫開發和網路編程開發。為了便於讀者學習,本書最後一章對一個完整學生管理系統進行了分析。具體講解了學生模塊和老師模塊,以及其他各個模塊的功能分析。
Ⅳ 21天學通Java6 和 21天學通Java 有什麼區別 哪本好點 看介紹很像 是不是後者抄襲前者的
這個應該是JAVA版本不一樣吧?21天學通Java 應該是java1.4版本的,21天學通Java 6應該是1.6版本的,無所謂哪個好哪個不好,1.4應該是現在比較經典的java版本,java6還算比較新的版本,我個人覺得,樓主要是初學JAVA想入門還是不太適合看這書,看一些簡單的大學JAVA基礎教程吧,比如清華大學出版社的《JAVA語言程序設計》,入門了之後再看這些可能效果會更好。要是已經入門就無所謂了,建議看21天學通Java 6,畢竟是比較新的版本
Ⅵ 21天學通java是真的嗎
21天能學會java,但達不到精通,21天想要精通java,可能就是一神話了,學習要腳踏實地,不能一步登天!
Ⅶ 21天學通Java的目 錄
第一篇 基礎篇
第1章 Java簡介(精彩視頻:33分鍾) 21
1.1 Java的平台簡介 21
1.2 安裝工具包 22
1.2.1 下載JDK 22
1.2.2 安裝JDK 24
1.2.3 查看與設置環境變數 25
1.2.4 JDK常用命令 27
1.2.5 Java各個目錄含義 28
1.2.6 要善於使用JDK的幫助文件 28
1.3 程序開發過程 29
1.4 編碼規范 29
1.5 HelloWorld:第一個Java程序 30
1.5.1 編寫程序代碼 30
1.5.2 編譯程序代碼並運行 30
1.5.3 注意事項 31
1.6 使用Eclipse集成開發工具開發 32
1.7 綜合練習 32
1.8 小結 33
1.9 習題 33
第2章 Java的基本數據類型(精彩視頻:38分鍾) 34
2.1 數據類型 34
2.1.1 整型 34
2.1.2 浮點型 35
2.1.3 字元型(char) 36
2.1.4 布爾型(boolean) 36
2.2 數據類型間的轉換 36
2.2.1 自動轉換 36
2.2.2 強制轉換 37
2.2.3 隱含轉換 37
2.3 標識符的命名 38
2.3.1 標識符的命名規則 38
2.3.2 代碼演示如何定義標識符 38
2.3.3 不好的標識符命名 38
2.3.4 良好的標識符命名 39
2.4 關鍵字 39
2.5 代碼注釋 40
2.5.1 行注釋 40
2.5.2 塊注釋 41
2.5.3 文檔注釋用戶自定義類型 41
2.6 綜合練習 43
2.7 小結 43
2.8 習題 43
第3章 運算符(精彩視頻:43分鍾) 45
3.1 算術運算符 45
3.1.1 「+」:加法運算符 45
3.1.2 「-」:減法運算符 46
3.1.3 「*」:乘法運算符 47
3.1.4 「/」:除法運算符 48
3.1.5 「%」:求余運算符 48
3.2 自增自減運算符 49
3.3 關系運算符 51
3.3.1 「==」、「!=」 51
3.3.2 「>」、「<」、「>=」、「<=」 52
3.4 邏輯運算符 53
3.4.1 「&&」:與運算符 53
3.4.2 「||」:或運算符 53
3.4.3 「!」:非運算符 54
3.4.4 邏輯運算符總結 54
3.5 三元運算符 55
3.6 位運算符 55
3.6.1 「&」:按位與運算符 56
3.6.2 「|」:按位或運算符 56
3.6.3 「^」:按位異或運算符 57
3.7 位移運算符 57
3.7.1 「>>」:帶符號右移運算符 58
3.7.2 「<<」:帶符號左移運算符 58
3.7.3 「>>>」:無符號右移運算符 58
3.8 賦值運算符 59
3.8.1 一般賦值運算符 59
3.8.2 運算賦值運算符 59
3.9 運算符之間的優先順序 60
3.10 綜合練習 61
3.11 小結 62
3.12 習題 62
第4章 流程式控制制(精彩視頻:58分鍾) 64
4.1 if條件語句 64
4.1.1 if語句的語法 64
4.1.2 if語句用法舉例 64
4.2 switch分支語句 67
4.2.1 switch分支語句的語法 67
4.2.2 switch分支語句表達式的使用條件 68
4.2.3 switch分支語句舉例 70
4.3 while循環語句 72
4.3.1 while循環語句的語法 72
4.3.2 while循環語句舉例 73
4.4 do...while循環語句 73
4.4.1 do...while循環語句的語法 74
4.4.2 do ... while循環語句舉例 74
4.5 for循環語句 75
4.5.1 for循環語句的語法 75
4.5.2 用for循環來實現其他循環語句 76
4.5.3 for循環語句的舉例 77
4.6 如何中斷和繼續語句的執行 78
4.6.1 break:中斷語句執行 78
4.6.2 continue:繼續語句執行 79
4.7 綜合練習 79
4.8 小結 80
4.9 習題 81
第5章 數組(精彩視頻:52分鍾) 83
5.1 如何創建數組 83
5.1.1 創建數組 83
5.1.2 創建多維數組 84
5.2 數組的初始化 85
5.2.1 創建並初始數組元素 85
5.2.2 循環初始化 87
5.3 數組操作的舉例 88
5.3.1 數組元素值的復制 88
5.3.2 數組元素的排序 90
5.3.3 在數組里查找指定元素 91
5.3.4 利用數組列印26個英文字母 92
5.4 綜合練習 93
5.5 小結 94
5.6 習題 94
第二篇 面向對象篇
第6章 類與對象(精彩視頻:48分鍾) 96
6.1 什麼是面向對象 96
6.1.1 面向對象編程的特點 96
6.1.2 面向對象編程與面向過程編程的區別 97
6.2 什麼是類 97
6.2.1 類的定義和對象的創建 97
6.2.2 如何使用現有類 99
6.2.3 類設計的技巧 100
6.3 成員變數 101
6.3.1 成員變數的創建 101
6.3.2 成員變數的初始化 102
6.4 局部變數 105
6.4.1 局部變數的創建和初始化 105
6.4.2 局部變數和成員變數的區別 106
6.5 方法 106
6.5.1 方法的創建和參數 106
6.5.2 方法參數的傳遞 108
6.6 對象引用的使用 110
6.6.1 調用不存在的對象或成員變數 110
6.6.2 調用對象為null值的引用 111
6.6.3 對象引用間的比較 113
6.7 this 113
6.8 要活用JDK已有的類 114
6.8.1 Date類 114
6.8.2 Integer類 116
6.9 綜合練習 117
6.10 小結 118
6.11 習題 118
第7章 控制邏輯(精彩視頻:50分鍾) 120
7.1 包(package) 120
7.1.1 創建一個包 120
7.1.2 如何使用包 121
7.1.3 什麼是靜態引入 122
7.2 類的訪問級別 123
7.2.1 公開的訪問級別 123
7.2.2 默認的訪問級別 124
7.3 什麼是封裝 125
7.4 最終修飾符 127
7.4.1 final修飾對象類型的成員變數 127
7.4.2 final修飾基本類型的成員變數 129
7.4.3 final修飾的局部變數 131
7.4.4 final修飾的方法 132
7.5 靜態修飾符 134
7.5.1 什麼是靜態變數 134
7.5.2 靜態變數的訪問 135
7.5.3 什麼是靜態常量 137
7.6 綜合練習 139
7.7 小結 140
7.8 習題 140
第8章 繼承(精彩視頻:72分鍾) 141
8.1 什麼是繼承 141
8.1.1 類的繼承 142
8.1.2 繼承的語法 145
8.2 修飾符 146
8.2.1 public:聲明成員變數為公共類型 146
8.2.2 private:聲明成員變數為私有類型 147
8.2.3 default:聲明成員變數為默認類型 148
8.2.4 protected:聲明成員變數為保護類型 149
8.3 成員變數的覆蓋 150
8.4 對象引用 151
8.5 方法的重寫和重載 152
8.5.1 方法重寫的特點 152
8.5.2 方法重載的特點 154
8.5.3 重寫的返回類型 156
8.5.4 重寫是基於繼承的 158
8.5.5 靜態方法是不能重寫的 159
8.5.6 三者之間的關系 161
8.5.7 重寫toString方法 162
8.5.8 重寫equals方法 163
8.6 final與繼承的關系 164
8.7 abstract與繼承的關系 165
8.8 什麼是多態 166
8.9 什麼是枚舉類 168
8.10 什麼是反射機制 169
8.11 什麼是泛型 170
8.12 綜合練習 172
8.13 小結 172
8.14 習題 172
第9章 介面(精彩視頻:47分鍾) 174
9.1 什麼是介面 174
9.1.1 介面的定義 174
9.1.2 訪問介面里的常量 176
9.2 介面的使用 177
9.2.1 介面里的方法如何創建 177
9.2.2 介面引用怎麼使用 178
9.3 什麼是抽象類 180
9.3.1 抽象類的使用和特點 180
9.3.2 抽象類與介面區別 183
9.4 介面的多態 183
9.5 判斷類型 185
9.5.1 什麼是instanceof 185
9.5.2 使用instanceof的注意事項 188
9.6 綜合練習 189
9.7 小結 189
9.8 習題 189
第10章 構造器(精彩視頻:46分鍾) 191
10.1 什麼是構造器 191
10.1.1 構造器的使用 191
10.1.2 被修飾的構造器 193
10.1.3 構造器方法與普通方法的區別 196
10.2 如何實例化一個對象 197
10.3 構造器的使用 199
10.3.1 構造器的調用 199
10.3.2 構造器重載 202
10.3.3 父子類間的構造器的調用流程 204
10.3.4 如何自定義構造器 207
10.4 什麼是單子模式 208
10.5 構造器在程序中是何時運行的 211
10.6 綜合練習 214
10.7 小結 215
10.8 習題 215
第11章 異常處理(精彩視頻:60分鍾) 217
11.1 異常處理基本介紹 217
11.1.1 try和catch捕獲異常 217
11.1.2 try-catch語句使用注意點 218
11.1.3 finally語句的使用 220
11.1.4 再談異常處理注意點 222
11.2 異常的分類 223
11.2.1 捕獲異常 223
11.2.2 未捕獲異常 225
11.3 拋出異常 225
11.3.1 拋出異常的簡單介紹 225
11.3.2 使用throws和throw語句拋出異常 227
11.4 自定義異常 227
11.4.1 創建和使用自定義異常類 227
11.4.2 自定義異常的實際應用 228
11.5 綜合練習 231
11.6 小結 232
11.7 習題 232
第12章 內部類(精彩視頻:71分鍾) 234
12.1 非靜態內部類 234
12.1.1 創建非靜態內部類 234
12.1.2 在外部類中訪問內部類 235
12.1.3 在外部類外訪問內部類 236
12.1.4 在內部類中訪問外部類 237
12.2 局部內部類 240
12.2.1 創建局部內部類 240
12.2.2 在局部內部類中訪問外部類成員變數 240
12.2.3 在局部內部類中訪問外部類的局部變數 241
12.2.4 靜態方法中的局部內部類 243
12.3 靜態內部類 244
12.3.1 創建靜態內部類 244
12.3.2 在外部類中訪問靜態內部類 245
12.3.3 在外部類外訪問靜態內部類 246
12.4 匿名內部類 247
12.4.1 創建匿名內部類 247
12.4.2 匿名內部類的初始化 249
12.5 綜合練習 250
12.6 小結 250
12.7 習題 250
第13章 多線程(精彩視頻:55分鍾) 252
13.1 多線程簡介 252
13.2 定義線程和創建線程對象 252
13.2.1 繼承Thread類定義線程 252
13.2.2 實現Runnable介面定義線程 253
13.3 運行線程 254
13.3.1 啟動線程 254
13.3.2 同時運行多個線程 256
13.4 線程生命周期 257
13.4.1 新建狀態 257
13.4.2 准備狀態 257
13.4.3 運行狀態 257
13.4.4 等待/阻塞狀態 258
13.4.5 死亡狀態 258
13.5 線程的調度 258
13.5.1 睡眠方法 258
13.5.2 線程優先順序 260
13.5.3 yield讓步方法 261
13.5.4 join讓步方法 262
13.6 綜合練習 264
13.7 小結 265
13.8 習題 265
第三篇 應用篇
第14章 Swing桌面程序開發(精彩視頻:70分鍾) 268
14.1 開發第一個Swing程序 268
14.2 JFrame窗口類 269
14.2.1 JFrame窗口類簡介 269
14.2.2 創建簡單窗體 269
14.2.3 設置窗體 271
14.3 JPanel面板類 273
14.3.1 容器介紹 273
14.3.2 JPanel面板類簡介 274
14.3.3 創建面板 274
14.4 JLabel標簽類 275
14.4.1 JLabel標簽類簡介 275
14.4.2 創建標簽 276
14.5 JButton按鈕類 276
14.5.1 JButton按鈕類簡介 277
14.5.2 創建按鈕 277
14.5.3 按鈕動作事件 278
14.6 Swing中的事件 280
14.6.1 事件簡介 280
14.6.2 同一個事件源注冊多個監聽器 280
14.6.3 同一個監聽器注冊給多個事件源 282
14.6.4 窗體獲取和失去焦點事件 283
14.6.5 窗體打開、關閉和激活事件 284
14.7 綜合練習 286
14.8 小結 288
14.9 習題 288
第15章 布局管理器(精彩視頻:62分鍾) 290
15.1 流布局 290
15.1.1 流布局介紹 290
15.1.2 使用流布局 291
15.2 網格布局 293
15.2.1 網格布局介紹 293
15.2.2 使用網格布局 293
15.3 邊框布局 295
15.3.1 邊框布局介紹 296
15.3.2 使用邊框布局 296
15.4 空布局 298
15.4.1 空布局介紹 298
15.4.2 使用空布局 298
15.5 卡片布局 299
15.5.1 卡片布局介紹 299
15.5.2 使用卡片布局 300
15.6 綜合練習 302
15.7 小結 304
15.8 習題 304
第16章 Swing常用控制項(精彩視頻:90分鍾) 306
16.1 文本框及密碼框和多行文本框 306
16.1.1 創建文本框 306
16.1.2 創建密碼框 307
16.1.3 創建多行文本框 309
16.2 復選框和單選按鈕 310
16.2.1 創建單選按鈕 310
16.2.2 創建復選框 313
16.3 選項卡 315
16.3.1 選項卡介紹 315
16.3.2 創建選項卡 315
16.4 分隔窗格 317
16.4.1 分隔窗格介紹 317
16.4.2 創建分隔窗格 317
16.5 滑塊和進度條 319
16.5.1 創建滑塊 319
16.5.2 創建進度條 320
16.6 列表框 323
16.6.1 列表框介紹 323
16.6.2 創建列表框 324
16.6.3 下拉列表框 326
16.7 菜單 328
16.7.1 菜單介紹 328
16.7.2 創建菜單 329
16.7.3 創建彈出式菜單 330
16.8 綜合練習 330
16.9 小結 332
16.10 習題 333
第17章 JDBC資料庫編程(精彩視頻:63分鍾) 335
17.1 資料庫基本介紹 335
17.1.1 資料庫介紹 335
17.1.2 資料庫應用架構 335
17.1.3 資料庫模型 336
17.2 JDBC資料庫編程介紹 336
17.2.1 JDBC和ODBC的關系 337
17.2.2 為什麼使用JDBC資料庫編程 337
17.3 SQL資料庫操作技術 338
17.3.1 什麼是SQL 338
17.3.2 如何進行SQL操作 338
17.4 創建資料庫 339
17.4.1 創建Access資料庫 339
17.4.2 創建SQL Server資料庫 339
17.5 JDBC編程步驟 342
17.5.1 創建數據源 342
17.5.2 載入驅動程序 344
17.5.3 建立資料庫連接 345
17.5.4 進行資料庫操作 345
17.5.5 獲取資料庫中信息 346
17.5.6 JDBC資料庫編程實例 347
17.6 事務處理 348
17.6.1 事務介紹 348
17.6.2 進行事務操作 349
17.7 綜合練習 351
17.8 小結 352
17.9 習題 352
第18章 Java中輸入/輸出流(精彩視頻:55分鍾) 353
18.1 I/O流簡介 353
18.1.1 什麼是I/O流 353
18.1.2 節點流與處理流 353
18.1.3 位元組流與字元流 354
18.1.4 抽象基類 354
18.2 使用流進行文件操作 356
18.2.1 使用File類進行文件與目錄操作 356
18.2.2 FileInputStream類與FileOutputStream類 359
18.2.3 FileReader類與FileWriter類 362
18.3 綜合練習 364
18.4 小結 364
18.5 習題 364
第19章 集合框架(精彩視頻:65分鍾) 366
19.1 集合框架總論 366
19.1.1 什麼是集合框架 366
19.1.2 Collection介面 366
19.2 列表 367
19.2.1 List列表介面 367
19.2.2 Vector類 368
19.2.3 ArrayList類 371
19.2.4 LinkedList類 373
19.3 集合 376
19.3.1 Set介面 376
19.3.2 SortedSet介面 377
19.3.3 TreeSet類 378
19.3.4 HashSet類 380
19.4 映射 381
19.4.1 Map介面 381
19.4.2 HashMap類 382
19.4.3 TreeMap類 384
19.5 綜合練習 385
19.6 小結 386
19.7 習題 387
第20章 網路編程(精彩視頻:58分鍾) 389
20.1 網路編程基礎 389
20.1.1 TCP/IP協議 389
20.1.2 網路編程模型 389
20.1.3 網路傳輸協議 390
20.1.4 埠和套接字 390
20.2 基於TCP/IP協議的網路編程 391
20.2.1 Socket套接字 391
20.2.2 ServerSocket類 391
20.2.3 Socket類 392
20.2.4 網路編程C/S架構實例 393
20.3 綜合練習 396
20.4 小結 398
20.5 習題 398
第四篇 綜合案例篇
第21章 學生管理系統(精彩視頻:54分鍾) 399
21.1 系統設計 399
21.2 資料庫設計 399
21.3 登錄界面開發 400
21.3.1 界面設計 400
21.3.2 程序開發 400
21.4 學生界面開發 402
21.4.1 界面設計 402
21.4.2 程序開發 402
21.4.3 開發插入學生界面 403
21.4.4 查詢學生信息界面 406
21.4.5 查詢成績信息 409
21.5 綜合練習 412
21.6 小結 413
Ⅷ java入門到精通需要多久時間
java入門很快,如果有OOP的經驗,有1周就可以,
如果沒有,需要的時間稍微長點,1個月左右吧,當然個人條件不同,掌握速度也不同,大概是這樣.
記住這只是入門,以後學的東西還很多
Ⅸ 初學JAVA用21天學通JAVA好還是JAVA從入門到精通這本書好,兩本都有必要都看嗎
21天學通好,你一天練習一章,一周復習一次,一個月以後差不多這本書就看完了,我也是學java的
Ⅹ java入門書籍推薦
一、Java編程入門類
對於沒有Java編程經驗的程序員要入門,隨便讀什麼入門書籍都一樣,這個階段需要你快速的掌握Java基礎語法和基本用法,宗旨就是「囫圇吞棗不求甚解」,先對Java熟悉起來再說。用很短的時間快速過一遍Java語法,連懵帶猜多寫寫代碼,要「知其然」。
1、《Java編程思想》
在有了一定的Java編程經驗之後,你需要「知其所以然」了。這個時候《Java編程思想》是一本讓你知其所以然的好書,它對於基本的面向對象知識有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java編程基礎。這本書的缺點是實在太厚,也比較羅嗦,不適合現代人快節奏學習,因此看這本書要懂得取捨,不是每章每節都值得一看的,挑重點的深入看就可以了。
2、《Agile Java》中文版
這本書是出版社送給我的,我一拿到就束之高閣,放在書櫃一頁都沒有翻過,但是前兩天整理書櫃的時候,拿出來一翻,竟然發現這絕對是一本好書!這本書一大特點是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎知識的過程中,潛移默化的影響你的編程思維走向敏捷,走向TDD。另外這本書成書很新,以JDK5.0的語法為基礎講解,要學習JDK5.0的新語法也不錯。還有這本書對於內容取捨也非常得當,Java語言畢竟類庫龐大,可以講的內容太多,這本書選擇的內容以及內容的多寡都很得當,可以讓你以最少的時間掌握Java最重要的知識,順便培養出來優秀的編程思路,真是一本不可多得的好書。
雖然作者自己把這本書定位在入門級別,但我不確定這本書用來入門是不是稍微深了點,我自己也准備有空的時候翻翻這本書,學習學習。
二、Java編程進階類
打下一個良好的Java基礎,還需要更多的實踐經驗積累,我想沒有什麼捷徑。有兩本書值得你在編程生涯的這個階段閱讀,培養良好的編程習慣,提高你的代碼質量。
1、《重構 改善既有代碼的設計》
這本書名氣很大,不用多介紹,可以在閑暇的時候多翻翻,多和自己的實踐相互印證。這本書對你產生影響是潛移默化的。
2、《測試驅動開發 by Example》
本書最大特點是很薄,看起來沒有什麼負擔。你可以找一個周末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是通過實戰讓你培養TDD的思路。
三、Java架構師之路
到這個階段,你應該已經非常嫻熟的運用Java編程,而且有了一個良好的編程思路和習慣了,但是你可能還缺乏對應用軟體整體架構的把握,現在就是你邁向架構師的第一步。
1、《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。
2、《Expert One-on-One J2EE Development without EJB》
這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。
以上兩本書都是Rod Johnson的經典名著,Java架構師的必讀書籍。在我所推薦的這些書籍當中,是我看過的最仔細,最認真的書,我當時讀這本書幾乎是廢寢忘食的一氣讀完的,有小時候挑燈夜讀金庸武俠小說的勁頭,書中所講內容和自己的經驗知識一一印證,又被無比精闢的總結出來,讀完這本書以後,我有種被打通經脈,功力爆增的感覺。
但是後來我看過一些其他人的評價,似乎閱讀體驗並沒有我那麼high,也許是因為每個人的知識積累和經驗不同導致的。我那個時候剛好是經驗知識積累已經足夠豐富,但是還沒有系統的整理成型,讓這本書一梳理,立刻形成完整的知識體系了。
3、《企業應用架構模式》
Martin的又一本名著,但這本書我只是泛泛的看了一遍,並沒有仔細看。這本書似乎更適合做框架的人去看,例如如果你打算自己寫一個ORM的話,這本書是一定要看的。但是做應用的人,不看貌似也無所謂,但是如果有空,我還是推薦認真看看,會讓你知道框架為什麼要這樣設計,這樣你的層次可以晉升到框架設計者的角度去思考問題。Martin的書我向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認真去看。
4、《敏捷軟體開發 原則、模式與實踐》
Uncle Bob的名著,敏捷的經典名著,這本書比較特別,與其說是講軟體開發過程的書,不如說講軟體架構的書,本書用了很大篇幅講各種面向對象軟體開發的各種模式,個人以為看了這本書,就不必看GoF的《設計模式》了。
四、軟體開發過程
了解軟體開發過程不單純是提高程序員個人的良好編程習慣,也是增強團隊協作的基礎。
1、《UML精粹》
UML其實和軟體開發過程沒有什麼必然聯系,卻是軟體團隊協作溝通,撰寫軟體文檔需要的工具。但是UML真正實用的圖不多,看看這本書已經足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。
2、《解析極限編程 擁抱變化》XP
這是Kent Beck名著的第二版,中英文對照。沒什麼好說的,必讀書籍。
3、《統一軟體開發過程》UP
其實UP和敏捷並不一定沖突,UP也非常強調迭代,測試,但是UP強調的文檔和過程驅動卻是敏捷所不取的。不管怎麼說,UP值得你去讀,畢竟在中國真正接受敏捷的企業很少,你還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。
4、《敏捷建模》AM
Scott Ambler的名著,這本書非常的progmatic,告訴你怎麼既敏捷又UP,把敏捷和UP統一起來了,又提出了很多progmatic的建議和做法。你可以把《解析極限編程 擁抱變化》、《統一軟體開發過程》和《敏捷建模》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎麼統一XP和UP的,把這三種理論融為一爐,形成自己的理論體系,那麼你也可以去寫書了。
五、軟體項目管理
如果你突然被領導提拔為項目經理,而你完全沒有項目管理經驗,你肯定會心裡沒底;如果你覺得自己管理項目不善,很想改善你的項目管理能力,那麼去考PMP肯定是遠水不解近渴的。
1、《快速軟體開發》
這也是一本名著。可以這樣說,有本書在手,你就有了一個項目管理的高級參謀給你出謀劃策,再也不必擔心自己不能勝任的問題了。這本書不是講管理的理論的,在實際的項目管理中,講這些理論是不解決問題的,這本書有點類似於「軟體項目點子大全」之類的東西,列舉了種種軟體項目當中面臨的各種問題,以及應該如何解決問題的點子,你只需要稍加變通,找方抓葯就行了。
六、總結
在這份推薦閱讀書籍的名單中,我沒有列舉流行的軟體框架類學習書籍,例如Struts,Hibernate,Spring之類,也沒有列舉AJAX方面的書籍。是因為這類書籍容易過時,而上述的大半書籍的生命周期都足夠長,值得你去購買和收藏