Java架構之完美設計

Java架構之完美設計

《Java架構之完美設計》是2019年9月機械工業出版社出版的書籍。

基本介紹

  • 中文名:Java架構之完美設計 
  • 別名:軟體架構師成長之路 
  • 作者:顏廷吉 
  • 出版時間:2019年9月
  • 出版社:機械工業出版社 
  • 頁數:403 頁 
  • ISBN:9787111635123 
  • 定價:109 元 
  • 開本:16 開 
  • 包裝:平裝 
  • 用紙:膠版紙 
內容簡介,作者簡介,目錄,

內容簡介

本書內容分為軟體架構理論、軟體架構高級技能、軟體架構綜合技能以及軟體架構創新四大部分。第壹部分是第1、2章,介紹了軟體架構師練就的方法、軟體架構設計模式、軟體架構開發模型、軟體架構模式、軟體架構思維、軟體架構編程思想以及軟體架構設計原則等,為軟體架構設計的基本理論;第二部分是第3~5章,介紹了軟體架構師必備的工具體系、Java機制技能要點專題、Java後台技術棧技能要點專題以及日誌架構設計、安全架構設計、許可權架構設計、驗證架構設計、異常架構設計、訊息架構設計、阻塞架構設計、數據字典架構設計Java八大核心架構設計體系,為軟體架構設計的高級技能體系;第三部分是第6~13章,以Spring技術為脈絡,介紹了JavaWeb、SpringMVC、Spring Integration、Spring Boot、SOAP WebService、REST WebService以及框架測試等架構設計相關的核心技術,為軟體架構設計與實現相關的綜合技能體系;第四部分是第14、15章,以開源框架以及自動化代碼生成工具開發為中心,啟發讀者的創新思維,為軟體架構的創新技能體系。
本書正是繼《Java代碼與架構之完美最佳化——實戰經典》《軟體品質之完美管理——實戰經典》之後,優秀軟體架構師又一本必讀書,也是“軟體架構師成長之路”系列教程的第三部作品,亦是本系列的收官之作。

作者簡介

顏廷吉,山東臨沂人,畢業於北京大學軟體與微電子學院,獲碩士學位,365IT學院創始人兼首席講師。“軟體架構師成長之路”三部曲《Java代碼與架構之完美最佳化——實戰經典》《軟體品質之完美管理——實戰經典》《Java架構之完美設計——實戰經典》作者。現就職於日本e-Technology公司,從事軟體架構方面的研究、諮詢與教學工作,有十餘年的一線軟體設計與研發經驗。

目錄

第1章 架構概述 1
1.1 架構來源 1
1.1.1 軟體架構 1
1.1.2 架構單位 2
1.1.3 常見架構錯誤概念 2
1.2 架構的價值 4
1.3 架構發展歷史 5
1.4 架構師 6
1.4.1 架構師分類 6
1.4.2 軟體架構師職責 7
1.4.3 軟體架構師素質要求 7
1.4.4 架構師練就方法 7
小結 9
習題 9
第2章 架構基本理論 10
2.1 架構品質 11
2.2 架構過程 11
2.2.1 架構流程 11
2.2.2 架構成果 11
2.2.3 架構團隊 13
2.3 架構開發模型 14
2.3.1 開發模型概述 14
2.3.2 邊做邊改模型 14
2.3.3 疊代開發模型 14
2.3.4 Scrum開發模型 15
2.4 架構設計常用UML 22
2.4.1 概述 22
2.4.2 類圖 24
2.4.3 序列圖 27
2.4.4 構件圖 28
2.4.5 部署圖 29
2.5 架構常用設計模式 31
2.5.1 模式概述 31
2.5.2 設計模式概述 31
2.5.3 設計模式與框架 33
2.5.4 單例模式 34
2.5.5 工廠方法模式 35
2.5.6 建造者模式 36
2.5.7 適配器模式 37
2.5.8 外觀模式 39
2.5.9 代理模式 40
2.5.10 模板方法模式 43
2.5.11 策略模式 44
2.5.12 責任鏈模式 45
2.6 架構模式 46
2.6.1 Java EE規格與框架 46
2.6.2 模式與架構 48
2.6.3 MVC架構模式 49
2.6.4 分層架構模式 56
2.6.5 管道-過濾器架構模式 57
2.7 架構思維 57
2.7.1 抽象思維 57
2.7.2 分層思維 58
2.7.3 分治思維 58
2.7.4 演化思維 59
2.7.5 架構思維之間的關係 59
2.8 架構編程思想 60
2.8.1 面向過程編程 60
2.8.2 面向對象編程 61
2.8.3 面向服務架構 67
2.8.4 架構思想之間的關係 71
2.9 架構設計原則 72
2.9.1 簡單原則 73
2.9.2 合適原則 73
2.9.3 演化原則 73
2.10 架構最佳化利器 73
2.10.1 重構帶來的利益 73
2.10.2 重構技巧 74
2.10.3 重構工具 75
小結 77
習題 77
第3章 構建開發工具體系 78
3.1 DevOps 78
3.1.1 代碼管理工具 81
3.1.2 項目構建工具 83
3.1.3 持續集成工具 84
3.2 智慧型開發平台 84
3.2.1 搭建智慧型開發平台 84
3.2.2 Eclipse對比IntelliJ 85
3.2.3 Eclipse啟動方式 87
3.2.4 Eclipse程式啟動參數 87
3.2.5 Eclipse外掛程式安裝方式 88
3.3 工具快捷鍵 96
3.3.1 快捷鍵的好處 96
3.3.2 快速鍵盤操作 96
3.3.3 最佳化快捷鍵 97
3.4 工具最佳化與保養 100
小結 101
習題 101
第4章 Java機制技能專題 102
4.1 通用處理方式 102
4.1.1 串列與並行 102
4.1.2 同步與異步機制 102
4.1.3 線上處理與批處理 103
4.1.4 系統間通信方式 104
4.2 核心機制 105
4.2.1 虛擬機機制 105
4.2.2 記憶體管理機制 109
4.3 反射與內省 112
4.3.1 反射機制 112
4.3.2 內省機制 114
4.4 註解 116
4.4.1 註解機制 116
4.4.2 註解分類 116
4.4.3 自定義註解 117
4.4.4 註解解析 118
4.4.5 適用場景 119
4.5 Servlet 120
4.5.1 Servlet機制 120
4.5.2 Servlet與CGI 126
4.5.3 Servlet與JSP 126
4.5.4 Servlet與普通Java類 127
4.5.5 自定義標籤 127
4.6 監聽器、過濾器與攔截器 128
4.6.1 技術要點 128
4.6.2 三者對比 129
4.7 Cookie與Session 130
4.7.1 Cookie機制 130
4.7.2 Session機制 133
4.8 Socket 137
4.8.1 Socket通信機制 137
4.8.2 三次握手建立連線 140
4.8.3 四次揮手釋放連線 140
小結 141
練習題 141
第5章 Java後台技術棧專題 142
5.1 XML 142
5.1.1 概述 142
5.1.2 DTD 144
5.1.3 XSD 144
5.1.4 XML解析 148
5.2 HTTP 149
5.2.1 概述 149
5.2.2 URL 150
5.2.3 HTTP訊息結構 151
5.3 JDBC 152
5.3.1 概述 152
5.3.2 JDBC開發方法 153
5.3.3 事務機制 154
5.4 AOP 155
5.4.1 概述 155
5.4.2 SpringAOP 157
5.5 字元集與亂碼 160
5.5.1 字元集 160
5.5.2 亂碼 169
5.6 日期處理 181
5.6.1 概述 181
5.6.2 日期使用技巧 182
5.7 翻頁控制項 184
5.7.1 問題 184
5.7.2 解決方案 184
5.8 屬性檔案 190
5.8.1 問題 190
5.8.2 解決方案 191
5.9 重複提交 192
5.9.1 問題 192
5.9.2 解決方案 194
5.10 排他 199
5.10.1 問題 199
5.10.2 解決方案 202
5.10.3 防止數據死鎖 208
小結 209
練習題 209
第6章 Java核心架構體系 211
6.1 日誌架構設計 211
6.1.1 概述 211
6.1.2 日誌設計技巧 211
6.1.3 日誌框架 212
6.2 安全架構設計 215
6.2.1 安全設計原則 215
6.2.2 安全註冊 215
6.2.3 認證 216
6.2.4 SSL與HTTPS 219
6.2.5 CSRF 220
6.2.6 XSS 221
6.3 許可權架構設計 223
6.3.1 概述 223
6.3.2 設計技巧 223
6.4 驗證架構設計 224
6.4.1 概述 224
6.4.2 設計技巧 224
6.5 異常架構設計 225
6.5.1 概述 225
6.5.2 異常分類 225
6.5.3 異常處理方式 227
6.5.4 異常處理目的 229
6.5.5 異常處理流程 233
6.6 訊息架構設計 235
6.6.1 概述 235
6.6.2 設計範例 236
6.7 阻塞架構設計 238
6.7.1 概述 238
6.7.2 設計技巧 238
6.8 數據字典架構設計 239
6.8.1 概述 239
6.8.2 設計技巧 239
6.9 體系架構之間的關係 240
小結 241
練習題 241
第7章 JavaWeb 242
7.1 Web伺服器 242
7.1.1 伺服器種類 242
7.1.2 Tomcat 243
7.1.3 伺服器集群 247
7.2 框架對比 247
7.2.1 Struts1對比Struts2 247
7.2.2 SpringMVC對比Struts2 248
7.2.3 Hibernate對比MyBatis 249
7.3 框架集成 249
7.3.1 SSH 250
7.3.2 SSI 251
7.3.3 SSM 251
7.4 框架模擬 253
7.4.1 Struts2 框架模擬 253
7.4.2 SpringMVC 框架模擬 254
7.4.3 MyBatis 框架模擬 254
小結 259
練習題 259
第8章 SpringMVC 260
8.1 Spring 概述 260
8.1.1 Spring 與 Java EE 260
8.1.2 Spring 技術找 261
8.1.3 Spring 5 新特性 262
8.2 SpringMVC 架構 264
8.2.1 SpringMVC 概述 264
8.2.2 SpringMVC 架構圖 264
8.2.3 分派器 265
8.2.4 處理器映射器 267
8.2.5 控制器 268
8.2.6 處理器適配器 270
8.2.7 數據綁定器 270
8.2.8 類型轉換 272
8.2.9 數據驗證 274
8.2.10 視圖解析器 275
8.2.11 視圖 276
8.2.12 異常處理 277
8.3 SpringBatch 278
8.3.1 SpringBatch 概述 278
8.3.2 SpringBatch 架構 279
小結 280
練習題 280
第9章 Spring Integration 281
9.1 基本原理 281
9.2 核心組件 282
9.2.1 Message 282
9.2.2 Channel 283
9.2.3 Endpoint 284
9.3 可視化設計 287
小結 288
練習題 288
第10章 Spring Boot 289
10.1 Spring Boot 概述 289
10.1.1 特性 289
10.1.2 核心功能 290
10.1.3 Starter 291
10.2 Spring Boot 工程 294
10.2.1 Springlnitializr 294
10.2.2 Gradle 295
10.3 Spring Cloud 298
10.3.1 概述 298
10.3.2 Spring Boot 與 Spring Cloud 299
10.3.3 微服務設計原則 299
10.3.4 微服務註冊與發現 301
小結 305
練習題 305
第11章 SOAP WebService 306
11.1 WebService 306
11.1.1 技術要點 306
11.1.2 富客戶端 307
11.1.3 RPC 與 WebService 308
11.2 SOAP基本原理 309
11.2.1 SOAP 概述 309
11.2.2 WSDL 310
11.3 JAX-WS 311
11.3.1 JAX-WS 概述 311
11.3.2 JAX-WS-Server 312
11.3.3 JAX-WS-Client 314
11.3.4 SoapUI 315
11.4 Spring-WS 316
11.4.1 Spring-WS 概述 316
11.4.2 Spring-WS 架構 318
11.4.3 WebServiceTemplate 319
11.5 SOAP 框架 319
小結 320
練習題 320
第12章 REST WebService 321
12.1 REST基本原理 321
12.1.1 概述 321
12.1.2 WADL 321
12.1.3 REST 架構 322
12.1.4 JAX-RS 323
12.1.5 SOAP 與 REST 323
12.1.6 JavaWeb 與 REST 324
12.2 REST-Server 324
12.2.1 Web 資源 324
12.2.2 URI 325
12.2.3 HTTP 方法 326
12.2.4 適當數據格式 328
12.2.5 適當HTTP狀態碼 329
12.2.6 無狀態通信 330
12.2.7 關聯資源分層連結 330
12.2.8 許可權認證 332
12.2.9 版本管理 333
12.2.10 性能 334
12.3 REST-Client 335
12.3.1 RestTemplate 335
12.3.2 測試工具 337
12.4 SpringMVC 與 REST 339
12.4.1 核心功能 339
12.4.2 架構圖 340
小結 341
練習題 341
第13章 框架測試 342
13.1 自動化測試 342
13.1.1 自動化測試準人標準 342
13.1.2 自動化測試目標 343
13.1.3 自動化測試框架 343
13.1.4 自動化測試工具 344
13.1.5 持續集成與部署 345
13.2 性能測試 347
13.2.1 性能測試概述 347
13.2.2 性能測試工具 347
13.3 性能最佳化 352
13.3.1 性能最佳化原則 352
13.3.2 套用層性能最佳化 352
13.3.3 資料庫層性能最佳化 352
13.3.4 框架層性能最佳化 354
13.3.5 JVM層性能最佳化 354
小結 356
練習題 356
第14章 開源框架 357
14.1 開源框架選擇 357
14.2 開源框架使用 358
14.3 開源框架開發 358
14.3.1 再開發 358
14.3.2 新開發 359
14.4 開源框架發布 359
14.4.1 版本號 359
14.4.2 版本區別 360
14.4.3 發布流程 361
小結 367
練習題 367
第15章 自動化代碼生成工具 368
15.1 自動化工具概述 368
15.1.1 分類 368
15.1.2 重要性 368
15.1.3 設計技巧 369
15.2 框架自動代碼生成工具 370
15.2.1 SSI框架自動代碼生成工具 370
15.2.2 SSM框架自動代碼生成工具 374
15.3 其他自動化工具 375
15.3.1 智慧型命名工具 375
15.3.2 SQL自動生成工具 379
小結 379
練習題 380
附錄 381
附錄A 原則一覽 381
附錄B 技巧一覽 381
附錄C 案例一覽 382
附錄D 溫馨提示一覽 383
附錄E 常用快捷鍵 384
E.1 Eclipse常用快捷鍵 384
E.2 IntelliJ常用快捷鍵 385
附錄F 高級調試技巧 387
F.1 Eclipse 調試技巧 387
F.2 原始碼導人技巧 393
F.3 找不到檔案分析技巧 394
F.4 問題定位技巧 398
附錄G 參考答案 399
參考文獻 403
check!

熱門詞條

聯絡我們