注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信網(wǎng)絡(luò)服務(wù)Java設(shè)計(jì)模式及實(shí)踐

Java設(shè)計(jì)模式及實(shí)踐

Java設(shè)計(jì)模式及實(shí)踐

定 價(jià):¥79.00

作 者: (印度)卡馬爾米特·辛格,(荷蘭)艾德里安
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111629436 出版時(shí)間: 2019-07-01 包裝:
開(kāi)本: 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)向讀者展示Java語(yǔ)言中更加智能化的編碼實(shí)例。書(shū)中首先介紹面向?qū)ο缶幊蹋∣OP)和函數(shù)式編程(FP)范式,然后描述常用設(shè)計(jì)模式的經(jīng)典使用方法,并解釋如何利用函數(shù)式編程特性改變經(jīng)典的設(shè)計(jì)模式。讀者將學(xué)習(xí)混合使用OOP和FP的實(shí)現(xiàn)方式,然后學(xué)習(xí)響應(yīng)式編程模型——一種為了編寫(xiě)更好的代碼而將OOP和FP結(jié)合使用的方法。之后,本書(shū)將介紹從MVC架構(gòu)向微服務(wù)和無(wú)服務(wù)器架構(gòu)轉(zhuǎn)變的發(fā)展趨勢(shì),*后介紹Java新版本的功能特性及其實(shí)踐。通過(guò)本書(shū)的學(xué)習(xí),讀者可以有效地解決開(kāi)發(fā)應(yīng)用程序過(guò)程中的常見(jiàn)問(wèn)題,能夠輕松地應(yīng)對(duì)各種規(guī)模項(xiàng)目的擴(kuò)展和維護(hù)。

作者簡(jiǎn)介

  卡馬爾米特·辛格(Kamalmeet Singh),在15歲時(shí)首次嘗試了編程并立刻愛(ài)上了它。他在獲得信息技術(shù)學(xué)士學(xué)位之后加入了一家創(chuàng)業(yè)公司,在那里進(jìn)一步提升了對(duì)Java編程的熱愛(ài)之情。IT行業(yè)13年的工作經(jīng)驗(yàn),以及在不同的公司、國(guó)家和領(lǐng)域的沉淀,使他成長(zhǎng)為一名開(kāi)發(fā)人員和技術(shù)架構(gòu)師。他使用的技術(shù)包括云計(jì)算、機(jī)器學(xué)習(xí)、增強(qiáng)現(xiàn)實(shí)、無(wú)服務(wù)器應(yīng)用程序、微服務(wù)等,但他的愛(ài)仍然是Java。艾德里安·伊恩庫(kù)列斯庫(kù)(Adrian Ianculescu),一名擁有20年編程經(jīng)驗(yàn)的軟件開(kāi)發(fā)人員,其中12年使用Java。他在2-40人的團(tuán)隊(duì)中工作,他意識(shí)到開(kāi)發(fā)軟件不僅僅是編寫(xiě)代碼,而對(duì)以不同的方法和框架設(shè)計(jì)軟件和架構(gòu)產(chǎn)生了興趣。在公司工作一段時(shí)間之后,他開(kāi)始轉(zhuǎn)變?yōu)樽杂陕殬I(yè)者和企業(yè)家,以追隨他童年時(shí)代的夢(mèng)想——制作游戲。路西安-保羅·托爾耶(Lucian-Paul Torje),一位有抱負(fù)的軟件工匠,在軟件行業(yè)工作了近15年,幾乎對(duì)所有與技術(shù)有關(guān)的事情都感興趣,這就是他涉獵廣泛的原因,包括從MS-DOSTSR到微服務(wù),從Atmel微控制器到Android、iOS和Chromebook,從C/C 到Java,從Oracle到MongoDB。 譯者簡(jiǎn)介:張小坤,軟件開(kāi)發(fā)工程師、項(xiàng)目經(jīng)理、系統(tǒng)架構(gòu)師,畢業(yè)于北京理工大學(xué)軟件學(xué)院,長(zhǎng)期從事系統(tǒng)設(shè)計(jì)開(kāi)發(fā)工作,經(jīng)驗(yàn)豐富,對(duì)設(shè)計(jì)模式有深刻的認(rèn)識(shí)和理解。黃凱,系統(tǒng)架構(gòu)師,畢業(yè)于北京理工大學(xué)軟件學(xué)院,一直從事軟件研發(fā)工作,對(duì)設(shè)計(jì)模式與實(shí)際開(kāi)發(fā)中的應(yīng)用具有較為豐富的經(jīng)驗(yàn)。賀濤,高級(jí)軟件工程師、項(xiàng)目經(jīng)理,長(zhǎng)期致力于系統(tǒng)設(shè)計(jì)和應(yīng)用研發(fā)工作,實(shí)踐經(jīng)驗(yàn)豐富。

圖書(shū)目錄

譯者序
前言
關(guān)于作者
關(guān)于評(píng)審者
第1章 從面向?qū)ο蟮胶瘮?shù)式編程 1
1.1 Java簡(jiǎn)介 1
1.2 Java編程范式 2
1.2.1 命令式編程 2
1.2.2 面向?qū)ο缶幊?3
1.2.3 聲明式編程 6
1.2.4 函數(shù)式編程 6
1.3 流以及集合的使用 7
1.4 統(tǒng)一建模語(yǔ)言簡(jiǎn)介 8
1.5 設(shè)計(jì)模式和原則 11
1.5.1 單一職責(zé)原則 12
1.5.2 開(kāi)閉原則 13
1.5.3 里氏替換原則 13
1.5.4 接口隔離原則 14
1.5.5 依賴(lài)倒置原則 16
1.6 總結(jié) 16
第2章 創(chuàng)建型模式 18
2.1 單例模式 18
2.1.1 同步鎖單例模式 19
2.1.2 擁有雙重校驗(yàn)鎖機(jī)制的同步鎖單例模式 20
2.1.3 無(wú)鎖的線(xiàn)程安全單例模式 21
2.1.4 提前加載和延遲加載 21
2.2 工廠模式 22
2.2.1 簡(jiǎn)單工廠模式 22
2.2.2 工廠方法模式 25
2.2.3 抽象工廠模式 27
2.2.4 簡(jiǎn)單工廠、工廠方法與抽象工廠模式之間的對(duì)比 28
2.3 建造者模式 29
2.3.1 汽車(chē)建造者樣例 30
2.3.2 簡(jiǎn)化的建造者模式 32
2.3.3 擁有方法鏈的匿名建造者 32
2.4 原型模式 33
2.5 對(duì)象池模式 34
2.6 總結(jié) 36
第3章 行為型模式 37
3.1 責(zé)任鏈模式 38
3.2 命令模式 40
3.3 解釋器模式 43
3.4 迭代器模式 47
3.5 觀察者模式 50
3.6 中介者模式 51
3.7 備忘錄模式 53
3.8 狀態(tài)模式 55
3.9 策略模式 55
3.10 模板方法模式 56
3.11 空對(duì)象模式 57
3.12 訪(fǎng)問(wèn)者模式 58
3.13 總結(jié) 59
第4章 結(jié)構(gòu)型模式 60
4.1 適配器模式 61
4.2 代理模式 66
4.3 裝飾器模式 70
4.4 橋接模式 73
4.5 組合模式 76
4.6 外觀模式 79
4.7 享元模式 83
4.8 總結(jié) 88
第5章 函數(shù)式編程 89
5.1 函數(shù)式編程簡(jiǎn)介 89
5.1.1 lambda表達(dá)式 91
5.1.2 純函數(shù) 92
5.1.3 引用透明性 92
5.1.4 初等函數(shù) 93
5.1.5 高階函數(shù) 93
5.1.6 組合 93
5.1.7 柯里化 93
5.1.8 閉包 94
5.1.9 不可變性 95
5.1.10 函子 95
5.1.11 單子 96
5.2 Java中的函數(shù)式編程 97
5.2.1 lambda表達(dá)式 97
5.2.2 流 98
5.3 重新實(shí)現(xiàn)面向?qū)ο缶幊淘O(shè)計(jì)模式 102
5.3.1 單例模式 102
5.3.2 建造者模式 102
5.3.3 適配器模式 103
5.3.4 裝飾器模式 103
5.3.5 責(zé)任鏈模式 103
5.3.6 命令模式 104
5.3.7 解釋器模式 104
5.3.8 迭代器模式 104
5.3.9 觀察者模式 105
5.3.10 策略模式 105
5.3.11 模板方法模式 105
5.4 函數(shù)式設(shè)計(jì)模式 106
5.4.1 MapReduce 106
5.4.2 借貸模式 107
5.4.3 尾調(diào)用優(yōu)化 108
5.4.4 記憶化 109
5.4.5 執(zhí)行around方法 110
5.5 總結(jié) 111
第6章 響應(yīng)式編程 112
6.1 什么是響應(yīng)式編程 113
6.2 RxJava簡(jiǎn)介 114
6.3 安裝RxJava 115
6.3.1 Maven下的安裝 115
6.3.2 JShell下的安裝 116
6.4 Observable、Flowable、Observer和Subscription的含義 116
6.5 創(chuàng)建Observable 118
6.5.1 create操作符 118
6.5.2 defer操作符 119
6.5.3 empty操作符 120
6.5.4 from操作符 120
6.5.5 interval操作符 120
6.5.6 timer操作符 121
6.5.7 range操作符 121
6.5.8 repeat操作符 121
6.6 轉(zhuǎn)換Observable 122
6.6.1 subscribe操作符 122
6.6.2 buffer操作符 122
6.6.3 flatMap操作符 122
6.6.4 groupBy操作符 124
6.6.5 map操作符 124
6.6.6 scan操作符 125
6.6.7 window操作符 125
6.7 過(guò)濾Observable 125
6.7.1 debounce操作符 125
6.7.2 distinct操作符 126
6.7.3 elementAt操作符 126
6.7.4 f?ilter操作符 127
6.7.5 f?irst/last操作符 127
6.7.6 sample操作符 128
6.7.7 skip操作符 128
6.7.8 take操作符 128
6.8 組合Observable 128
6.8.1 combine操作符 129
6.8.2 join操作符 129
6.8.3 merge操作符 130
6.8.4 zip操作符 131
6.9 異常處理 131
6.9.1 catch操作符 131
6.9.2 do操作符 132
6.9.3 using操作符 133
6.9.4 retry操作符 133
6.10 線(xiàn)程調(diào)度器 134
6.11 Subject 135
6.12 示例項(xiàng)目 136
6.13 總結(jié) 139
第7章 響應(yīng)式設(shè)計(jì)模式 140
7.1 響應(yīng)模式 140
7.1.1 請(qǐng)求-響應(yīng)模式 140
7.1.2 異步通信模式 146
7.1.3 緩存模式 148
7.1.4 扇出與快響應(yīng)模式 149
7.1.5 快速失敗模式 150
7.2 彈性模式 150
7.2.1 斷路器模式 150
7.2.2 故障處理模式 151
7.2.3 有限隊(duì)列模式 151
7.2.4 監(jiān)控模式 152
7.2.5 艙壁模式 152
7.3 柔性模式 152
7.3.1 單一職責(zé)模式 153
7.3.2 無(wú)狀態(tài)服務(wù)模式 154
7.3.3 自動(dòng)伸縮模式 156
7.3.4 自包含模式 156
7.4 消息驅(qū)動(dòng)通信模式 157
7.4.1 事件驅(qū)動(dòng)通信模式 157
7.4.2 出版者-訂閱者模式 157
7.4.3 冪等性模式 158
7.5 總結(jié) 158
第8章 應(yīng)用架構(gòu)的發(fā)展趨勢(shì) 159
8.1 什么是應(yīng)用架構(gòu) 159
8.2 分層架構(gòu) 160
8.2.1 分層架構(gòu)示例 162
8.2.2 tier和layer的區(qū)別 1

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)