重學Java設計模式( 簡體 字) | |
作者:付政委 | 類別:1. -> 程式設計 -> JAVA -> Java |
出版社:電子工業出版社 | 3dWoo書號: 54418 詢問書籍請說出此書號! 有庫存 NT售價: 640 元 |
出版日:4/1/2021 | |
頁數:388 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121409387 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 設計模式介紹 / 1
1.1 設計模式是什么 / 1 1.2 誰發明了設計模式 / 1 1.3 設計模式有哪些種類 / 2 1.4 該如何學習設計模式 / 2 第2章 六大設計原則 / 4 2.1 單一職責原則 / 4 2.2 開閉原則 / 8 2.3 里氏替換原則 / 11 2.4 迪米特法則原則 / 21 2.5 接口隔離原則 / 26 2.6 依賴倒置原則 / 30 第3章 設計模式如何落地 / 36 3.1 設計模式該怎樣學 / 36 3.2 為什么使用設計模式 / 36 3.3 設計模式的落地經驗 / 37 第4章 工廠模式 / 39 4.1 碼農心得 / 39 4.2 工廠模式介紹 / 39 4.3 模擬發放多種獎品 / 40 4.4 違背設計模式實現 / 42 4.5 工廠模式重構代碼 / 46 4.6 本章總結 / 52 第5章 抽象工廠模式 / 53 5.1 碼農心得 / 53 5.2 抽象工廠模式介紹 / 53 5.3 緩存集群升級場景 / 55 5.4 違背設計模式實現 / 59 5.5 抽象工廠模式重構代碼 / 62 5.6 本章總結 / 68 第6章 建造者模式 / 69 6.1 碼農心得 / 69 6.2 建造者模式介紹 / 69 6.3 裝修套餐選配場景 / 70 6.4 違背設計模式實現 / 76 6.5 建造者模式重構代碼 / 79 6.6 本章總結 / 85 第7章 原型模式 / 86 7.1 碼農心得 / 86 7.2 原型模式介紹 / 86 7.3 試卷題目亂序場景 / 87 7.4 違背設計模式實現 / 89 7.5 原型模式重構代碼 / 96 7.6 本章總結 / 106 第8章 單例模式 / 107 8.1 碼農心得 / 107 8.2 單例模式介紹 / 107 8.3 案例場景介紹 / 108 8.4 七種單例模式實現方式 / 108 8.5 本章總結 / 112 第9章 適配器模式 / 113 9.1 碼農心得 / 113 9.2 適配器模式介紹 / 113 9.3 MQ消息體兼容場景 / 115 9.4 違背設計模式實現 / 118 9.5 適配器模式重構代碼 / 119 9.6 本章總結 / 125 第10章 橋接模式 / 126 10.1 碼農心得 / 126 10.2 橋接模式介紹 / 126 10.3 多支付和多模式組合 場景 / 127 10.4 違背設計模式實現 / 128 10.5 橋接模式重構代碼 / 130 10.6 本章總結 / 135 第11章 組合模式 / 137 11.1 碼農心得 / 137 11.2 組合模式介紹 / 137 11.3 決策樹場景模擬 / 138 11.4 違背設計模式實現 / 139 11.5 組合模式重構代碼 / 141 11.6 本章總結 / 153 第12章 裝飾器模式 / 154 12.1 碼農心得 / 154 12.2 裝飾器模式介紹 / 154 12.3 單點登錄場景模擬 / 155 12.4 違背設計模式實現 / 157 12.5 裝飾器模式重構代碼 / 158 12.6 本章總結 / 162 第13章 外觀模式 / 163 13.1 碼農心得 / 163 13.2 外觀模式介紹 / 163 13.3 中間件場景模擬 / 164 13.4 違背設計模式實現 / 166 13.5 外觀模式重構代碼 / 167 13.6 重構后工程驗證 / 173 13.7 本章總結 / 175 第14章 享元模式 / 176 14.1 碼農心得 / 176 14.2 享元模式介紹 / 176 14.3 緩存優化查詢場景 / 177 14.4 違背設計模式實現 / 178 14.5 享元模式重構代碼 / 179 14.6 本章總結 / 184 第15章 代理模式 / 185 15.1 碼農心得 / 185 15.2 代理模式介紹 / 185 15.3 MyBatis-Spring中代理類 場景 / 186 15.4 代理類模式實現過程 / 187 15.5 本章總結 / 192 第16章 責任鏈模式 / 193 16.1 碼農心得 / 193 16.2 責任鏈模式介紹 / 193 16.3 系統上線審批場景 / 194 16.4 違背設計模式實現 / 196 16.5 責任鏈模式重構代碼 / 198 16.6 本章總結 / 204 第17章 命令模式 / 205 17.1 碼農心得 / 205 17.2 命令模式介紹 / 205 17.3 餐廳點餐場景 / 206 17.4 違背設計模式實現 / 207 17.5 命令模式重構代碼 / 209 17.6 本章總結 / 214 第18章 迭代器模式 / 215 18.1 碼農心得 / 215 18.2 迭代器模式介紹 / 215 18.3 組織架構樹形結構遍歷 場景 / 216 18.4 迭代器模式遍歷組織 結構 / 217 18.5 本章總結 / 224 第19章 中介者模式 / 225 19.1 碼農心得 / 225 19.2 中介者模式介紹 / 225 19.3 手寫ORM中間件場景 / 226 19.4 違背設計模式實現 / 227 19.5 中介者模式開發ORM框架 / 228 19.6 ORM框架測試 / 236 19.7 本章總結 / 241 第20章 備忘錄模式 / 242 20.1 碼農心得 / 242 20.2 備忘錄模式介紹 / 242 20.3 系統上線配置回滾場景 / 243 20.4 備忘錄模式記錄系統 配置 / 244 20.5 本章總結 / 249 第21章 觀察者模式 / 250 21.1 碼農心得 / 250 21.2 觀察者模式介紹 / 250 21.3 小客車搖號通知場景 / 252 21.4 違背設計模式實現 / 253 21.5 觀察者模式重構代碼 / 255 21.6 本章總結 / 260 第22章 狀態模式 / 261 22.1 碼農心得 / 261 22.2 狀態模式介紹 / 261 22.3 活動審批狀態流轉場景 / 263 22.4 違背設計模式實現 / 266 22.5 狀態模式重構代碼 / 269 22.6 本章總結 / 277 第23章 策略模式 / 278 23.1 碼農心得 / 278 23.2 策略模式介紹 / 278 23.3 各類營銷優惠券場景 / 279 23.4 違背設計模式實現 / 280 23.5 策略模式重構代碼 / 281 23.6 本章總結 / 286 第24章 模板模式 / 287 24.1 碼農心得 / 287 24.2 模板模式介紹 / 287 24.3 模擬爬蟲商品生成海報信息 場景 / 288 24.4 模板模式案例工程 / 289 24.5 本章總結 / 295 第25章 訪問者模式 / 296 25.1 碼農心得 / 296 25.2 訪問者模式介紹 / 296 25.3 不同用戶對學生身份訪問 視角場景 / 297 25.4 訪問者模式案例工程 / 298 25.5 本章總結 / 304 第26章 DDD四層架構實踐 / 305 26.1 領域驅動設計介紹 / 305 26.2 商品下單規則場景 / 308 26.3 規則樹DDD四層架構 / 309 26.4 測試驗證 / 316 26.5 本章總結 / 321 第27章 RPC中間件設計開發 / 322 27.1 RPC介紹 / 322 27.2 案例目標 / 324 27.3 Spring自定義配置文件 / 324 27.4 Netty通信組件 / 333 27.5 RPC功能邏輯實現 / 340 27.6 RPC框架驗證 / 347 27.7 本章總結 / 352 第28章 分布式領域驅動架構 設計 / 353 28.1 關于需求 / 353 28.2 實踐場景 / 354 28.3 架構設計 / 354 28.4 父類工程 / 355 28.5 分布式框架 / 358 28.6 本章總結 / 367 本書是一本基于互聯網真實案例編寫的Java設計模式實踐圖書。全書以解決方案為核心,從實際開發業務中抽離出交易、營銷、規則引擎、中間件、框架源碼等22個真實場景,對設計模式進行全面、徹底的分析。幫助讀者靈活地使用各種設計模式,從容應對復雜變化的業務需求,編寫出易維護、可擴展的代碼結構。本書融合了生動有趣的動畫插圖和實踐開發的類結構圖,讓讀者不僅能體會設計模式的概念和原理,更能清楚地知曉落地方法。此外,本書還介紹了DDD四層架構、RPC中間件設計、分布式領域驅動設計和設計模式的結合使用等內容。本書適合計算機相關行業的研發人員、高等院校計算機專業的學生閱讀。無論是初學者,還是中、高級研發人員都能從本書中有所獲益。
設計模式的概念最早是由克里斯托弗?亞歷山大在其所著的《建筑模式語言》中提出的。該書介紹了城市設計的“語言”,提供了253個描述城鎮、鄰里、住宅、花園、房間及西部構造的模式,而此類“語言”的基本單元就是模式。后來,埃里克?伽瑪、約翰?威利斯迪斯、拉爾夫?約翰遜和理查德?赫爾姆四位作者接受了設計模式的概念。1994年,他們出版了《設計模式:可復用面向對象軟件的基礎》一書,將設計模式的概念應用到程序開發領域中。
可以看出,設計模式本身是一種通用場景的解決標準和方案,而不是實際場景開發落地的指導手冊。這種通用的解決標準和方案是研發人員在大量的項目中驗證和提煉的結果,如果只是學習理論知識,沒有經歷過大型的項目開發,則很難理解和使用設計模式。 為什么寫作本書 很多研發人員了解過設計模式,但在實際的業務開發中卻很少使用。甚至使用了大量的if…else實現業務流程,對于一次次的需求迭代和邏輯補充,靠東拼西湊疲于應付。如何掌握和使用設計模式的思想和架構思維,并行之有效地運用到業務場景中,具有現實意義。為了讓更多的研發人員不僅能掌握設計模式的概念,而且可以將設計模式運用到實際開發中,特撰寫此書。 本書主要內容 本書通過從互聯網實際的業務開發中遴選出大量的真實案例場景,包括交易、營銷、秒殺等,并結合規則引擎、中間件、框架源碼和RPC設計等技術點介紹設計模式,幫助開發人員在實際的業務中靈活運用設計模式。 本書共28章,主要內容如下: -第1~3章,介紹設計模式的原則及落地方法,讓讀者在學習之前對設計模式有整體的認識。 -第4~25章,分別通過場景案例講解設計模式的使用方法,包括多種獎品服務工廠、在線試卷題目混排、MQ消息體字段適配、多支付渠道場景橋接、差異化規則引擎組合、ORM中間件設計等。 -第26~28章,擴展知識,介紹領域驅動設計四層架構、RPC中間件設計開發和分布式領域驅動架構設計,幫助讀者對設計模式和架構設計有整體的認識。 如何閱讀本書 本書是一本偏動手實戰的技術圖書,主要介紹設計模式解決方案的具體落地方法。本書的每一章都會重點突出與該章主題相關的設計模式。同時,由于每一種設計模式都不是孤立存在的,需要結合使用,所以應在具體的項目場景中靈活運用。在閱讀的過程中,讀者不僅要仔細閱讀每一章的文字及案例場景設計,同時更要多閱讀代碼,或者自己編寫代碼。 代碼運行環境 -JDK v1.8及以上。 - Maven v3.0及以上。 - IDEA版本:IntelliJ IDEA 2018、2019、2020。 - 其他版本:Spring、SpringBoot、MyBatis等已經配置到POM文件中。 源碼使用方法 -本書配套源碼的GitHub地址為https://github.com/fuzhengwei/CodeDesign。此源碼會不斷接受反饋并更新。Gitee 地址為 https://gitee.com/fustack/CodeDesign。 -每一章涉及的代碼工程結構與源碼部分都有相應的名稱。例如,cn-bustack- design-7-01,7-01表示第7章第1個案例的源碼。 -源碼中的標號的第一個數字代表章節。例如,4.0-0、4.0-1、4.0-2表示第4章的多個源碼,在構建過程中需要注意,它們之間會有引用關系。 -第28章因為涉及的工程內容是獨立的,所以單獨提供了一個壓縮包,需要解壓縮后再使用IDEA打開。 致謝 首先要特別感謝我的父母(付井海、徐文杰)、妻子(郭維清),是你們在平常的生活中分擔了更多,才讓我有更多的時間投入文字創作中,使得這本書與廣大讀者見面。 在電子工業出版社博文視點的宋亞東編輯的熱情推動下,促成了我與電子工業出版社的合作。感謝電子工業出版社博文視點對本書的重視,以及為本書出版所做的一切。 由于作者水平有限,書中不足之處在所難免,敬請專家和讀者給予批評指正。 付政委(小傅哥) |