《Java EE 設計模式解析與套用》是2015年出版的圖書,作者是[美]Murat Yener,Alex Theedom。
基本介紹
- 書名:《Java EE 設計模式解析與套用》
- 作者:[美]Murat Yener,Alex Theedom
- 譯者:張龍
- ISBN:9787302415862
- 定價:59.80元
- 出版時間:9787302415862
出版信息,內容簡介,作者薦語,目錄,
出版信息
作者:[美]Murat Yener,Alex Theedom 著 張龍 譯
定價:59.80元
印次:1-1
ISBN:9787302415862
出版日期:2015.10.01
印刷日期:2015.10.22
定價:59.80元
印次:1-1
ISBN:9787302415862
出版日期:2015.10.01
印刷日期:2015.10.22
內容簡介
用Java EE設計模式解決實際問題 模式是Java開發者必需的設計工具。雖然Java EE提供了許多“經典GoF模式”的默認實現,但大多數富有經驗的開發者都低估了這些開箱即用的實現的價值。《Java EE設計模式解析與套用》一書分析每種模式的意圖,並通過各種可供選擇的示例代碼演示其實現,從而幫助廣大開發者改進代碼質量並提升架構設計水平。 本書首先呈現最常見的GoF模式,接著循序漸進地講解新模式;將重溫這些模式的經典實現並在示例代碼的引導下透徹分析Java EE特定的實現方式。
作者薦語
Murat Yener是一位Android極客,就職於Intel,負責開發桌面套用及HTML5移動套用。Murat具有豐富的Java、Web、Java EE和OSGi開發經驗,是Eclipse提交者和GDG Istanbul用戶組管理者,曾多次在重要技術會議上發表演講。
Alex Theedom是Indigo Code Collective(E-scape group)的資深開發者,具有豐富的Java EE和Spring Web套用開發經驗。Alex曾為歐洲多個組織開發基於微服務的架構、ATM軟體以及線上學習系統。
目錄
第Ⅰ部分 Java EE設計模式介紹
第1章 設計模式概覽 3
1.1 何為設計模式 4
1.1.1 如何檢測模式,為何需要模式 6
1.1.2 現實世界中的模式 6
1.2 設計模式基礎 8
1.3 企業模式 8
1.3.1 從Java到企業級Java 9
1.3.2 企業Java模式的出現 10
1.3.3 設計模式與企業模式 11
1.3.4 當傳統設計模式遇到Java EE 12
1.3.5 當模式變成反模式 13
1.4 小結 14
1.5 相關資料 14
第2章 Java EE基礎 17
2.1 多層架構 19
2.2 客戶端層 20
2.3 中間層 21
2.3.1 Web層 21
2.3.2 業務層 22
2.4 EIS層 23
2.5 Java EE伺服器 24
2.6 Java EE Web Profile 25
2.7 Java EE核心原則 25
2.8 約定優於配置 26
2.9 上下文與依賴注入 26
2.10 攔截器 28
2.11 小結 30
2.12 本章練習 30
第Ⅱ部分 實現Java EE設計模式
第3章 門面模式 33
3.1 何為門面 34
3.2 使用普通代碼實現門面模式 36
3.3 使用Java EE實現門面模式 38
3.3.1 使用無狀態Bean實現門面 38
3.3.2 使用有狀態Bean實現門面 41
3.4 何時以及何處該使用門面模式 42
3.5小結 43
3.6本章練習 43
3.7相關資料 43
第4章單例模式 45
4.1何為單例? 46
4.1.1單例模式類圖 47
4.1.2使用普通代碼實現單例模式 48
4.2使用JavaEE實現單例模式 53
4.2.1單例Bean 53
4.2.2在啟動時使用單例 54
4.2.3確定啟動順序 56
4.2.4管理並發 59
4.3何處以及何時該使用單例模式 63
4.4小結 63
4.5本章練習 64
4.6相關資料 65
第5章依賴注入與CDI 67
5.1何為依賴注入? 68
5.2使用普通代碼實現DI 69
5.3使用JavaEE實現DI 73
5.3.1@Named註解 75
5.3.2上下文與依賴注入(CDI) 76
5.3.3CDI與EJB 77
5.3.4CDIBean 77
5.3.5@Inject註解 79
5.3.6上下文與作用域 79
5.3.7命名與EL 80
5.3.8用於BackingJSF的CDIBean 81
5.3.9限定符 81
5.3.10Alternatives 82
5.3.11Stereotypes 83
5.3.12通過CDI實現的其他模式 84
5.4小結 84
5.5本章練習 85
5.6相關資料 85
第6章工廠模式 87
6.1何為工廠? 88
6.2工廠方法 89
6.3抽象工廠 94
6.4使用JavaEE實現工廠模式 96
6.5何處以及何時該使用工廠模式 110
6.6小結 111
6.7本章練習 111
6.8相關資料 111
第7章裝飾模式 113
7.1何為裝飾器? 114
7.2使用普通代碼實現裝飾模式 116
7.3使用JavaEE實現裝飾模式 121
7.4何處以及何時該使用裝飾模式 129
7.5小結 130
7.6本章練習 130
7.7相關資料 131
第8章面向方面編程(攔截器) 133
8.1何為面向方面編程? 134
8.2使用普通代碼實現AOP 137
8.3JavaEE中的方面——攔截器 140
8.3.1攔截器生命周期 145
8.3.2默認級別的攔截器 146
8.3.3攔截器順序 147
8.3.4CDI攔截器 150
8.4何處以及何時該使用攔截器 153
8.5小結 154
8.6相關資料 155
第9章異步 157
9.1何為異步編程 158
9.2使用普通代碼實現異步模式 161
9.3JavaEE中的異步編程 164
9.3.1異步Bean 164
9.3.2異步Servlet 167
9.4何處以及何時該使用異步編程 172
9.5小結 174
9.6本章練習 174
9.7相關資料 175
第10章定時器服務 177
10.1何為定時器服務 178
10.2使用JavaEE實現定時器 181
10.2.1自動化定時器 181
10.2.2編程式定時器 183
10.2.3定時器表達式 187
10.2.4事務 190
10.3小結 191
10.4本章練習 192
10.5相關資料 192
第11章觀察者模式 193
11.1何為觀察者? 194
11.1.1說明 195
11.1.2觀察者類圖 197
11.2使用普通代碼實現觀察者模式 197
11.3使用JavaEE實現觀察者模式 200
11.4何處以及何時該使用觀察者模式 209
11.5小結 210
11.6本章練習 211
11.7相關資料 211
第12章數據訪問模式 213
12.1何為數據訪問模式? 214
12.2數據訪問模式概覽 216
- 12.2.1數據傳輸對象模式 216
- 12.2.2Java持久化架構API與對象關係映射 217
- 12.3使用JavaEE實現數據訪問模式 218
- 12.4何處以及何時該使用數據訪問模式 227
- 12.5小結 227
- 12.6本章練習 228
- 12.7相關資料 228
- 第13章REST風格的WebService 229
- 13.1何為REST? 230
- 13.2REST的6個約束 232
- 13.2.1客戶端-伺服器 233
- 13.2.2統一接口 233
- 13.2.3無狀態 233
- 13.2.4可快取 233
- 13.2.5分層系統 234
- 13.2.6按需編碼 234
- 13.3RESTAPI的理查森能力成熟度模型 234
- 13.3.1級別0:POX(PlainOldXML)沼澤 235
- 13.3.2級別1:資源 235
- 13.3.3級別2:HTTP動詞 235
- 13.3.4級別3:超媒體控制項 235
- 13.4設計REST風格的API 235
- 13.4.1資源命名 236
- 13.4.2名詞而非動詞 237
- 13.4.3自說明 237
- 13.4.4複數而非單數 237
- 13.4.5HTTP方法 238
- 13.4.6GET 238
- 13.4.7POST 239
- 13.4.8PUT 239
- 13.4.9DELETE 240
- 13.5REST實戰 240
- 13.5.1users名詞 240
- 13.5.2topics名詞與posts名詞 242
- 13.6使用JavaEE實現REST 244
- 13.7HATEOAS 249
- 13.8何處以及何時該使用REST 253
- 13.9小結 253
- 13.10本章練習 254
- 13.11相關資料 254
- 第14章模型、視圖與控制器模式 255
- 14.1何為MVC設計模式? 256
- 14.2使用普通代碼實現MVC模式 260
- 14.3使用JavaEE實現MVC模式 265
- 14.4FacesServlet 265
- 14.5使用FacesServlet實現MVC 266
- 14.6何處以及何時該使用MVC模式 269
- 14.7小結 269
- 14.8本章練習 270
- 14.9相關資料 270
- 第15章JavaEE中的其他模式 271
- 15.1何為WebSockets? 272
- 15.2何為面向訊息的中間件 275
- 15.3何為微服務架構? 277
- 15.3.1單塊架構 278
- 15.3.2可伸縮性 279
- 15.3.3分解為服務 280
- 15.3.4微服務的好處 281
- 15.3.5天下沒有免費的午餐 282
- 15.3.6結論 283
- 15.4一些反模式 284
- 15.4.1超級類 284
- 15.4.2麵條架構 284
- 15.4.3哥倫布先生 285
- 15.4.4利益之交 285
- 15.4.5前沿技術 286
- 15.4.6輔助類 286
- 15.5相關資料 287
- 第Ⅲ部分總結
- 第16章設計模式:好處、壞處與醜陋之處 291
- 16.1好處:通往成功之路的模式 292
- 16.2壞處:模式的過度使用與濫用 294
- 16.3醜陋之處 296
- 16.4小結 298
- 16.5相關資料 298