遼寧省一流本科課程配套教材,微軟最有價值專家力作!
配套150+個微課視頻、全套課程PPT、源碼等學(xué)習(xí)資源
內(nèi)容簡介
本書介紹適用于復(fù)雜的、需要與服務(wù)器通信的全棧應(yīng)用開發(fā)的關(guān)鍵技術(shù)。內(nèi)容涵蓋協(xié)作開發(fā)方法、對象創(chuàng)建技術(shù)、數(shù)據(jù)管理技術(shù)、應(yīng)用測試技術(shù)、用戶界面開發(fā)方法、客戶端架構(gòu)、用戶體驗提升技術(shù)、遠(yuǎn)程數(shù)據(jù)訪問、服務(wù)器端開發(fā)方法和微服務(wù)架構(gòu)方法等方面。學(xué)習(xí)本書的讀者需要具備一定的計算機(jī)專業(yè)課基礎(chǔ),至少掌握一門編程語言并能獨立完成簡單的開發(fā)任務(wù)。通過本書的學(xué)習(xí),讀者可以培養(yǎng)多技能棧整合運用能力,為解決復(fù)雜工程問題提供完整的支持。本書適合作為高等院校計算機(jī)、軟件等專業(yè)學(xué)生的教材,也可作為開發(fā)者的參考用書。
編輯推薦
本書的目的是填補傳統(tǒng)專業(yè)課和全棧應(yīng)用開發(fā)之間的知識差距,幫助讀者深入了解全棧開發(fā)的概念、原則和思想,從而培養(yǎng)讀者全棧應(yīng)用開發(fā)的能力。
市面上有許多介紹全棧開發(fā)技術(shù)的書籍,但這些書籍更適合軟件行業(yè)的從業(yè)者解決實際問題。與這些書籍不同的是,本書注重構(gòu)建通用的全棧開發(fā)知識體系,旨在培養(yǎng)讀者通用的全棧開發(fā)能力。因此本書更適合本科高等院校軟件工程專業(yè)開設(shè)全棧開發(fā)課程使用。
通過本書的學(xué)習(xí),讀者將了解全棧開發(fā)涉及的關(guān)鍵技術(shù),并厘清這些技術(shù)之間的關(guān)系。例如在書中,全棧技術(shù)的體系被歸結(jié)如下圖:
展開全文
通過本書的學(xué)習(xí),讀者也將形成通用的全棧開發(fā)知識體系,深入了解全棧開發(fā)技術(shù)的理論、思想和實踐,形成普適性的全棧開發(fā)能力。
/ 作者簡介/
張引博士,畢業(yè)于東北大學(xué)?,F(xiàn)為東北大學(xué)軟件學(xué)院副教授,微軟開發(fā)者技術(shù)最有價值專家。從事搜索學(xué)習(xí)和信道編碼理論研究,并長期承擔(dān)程序設(shè)計類課程的教學(xué)工作。
趙玉麗博士,畢業(yè)于東北大學(xué),現(xiàn)為東北大學(xué)軟件學(xué)院副教授。主要學(xué)術(shù)方向為5G信道編碼方案、復(fù)雜網(wǎng)絡(luò)理論及應(yīng)用研究。
張斌博士,教授,博士生導(dǎo)師,東北大學(xué)軟件學(xué)院院長,教育部普通高等學(xué)校計算機(jī)類專業(yè)教學(xué)指導(dǎo)委員會委員,遼寧省教學(xué)名師。
張長勝軟件學(xué)院教授、博導(dǎo)。2009年畢業(yè)于吉林大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院計算機(jī)軟件與理論專業(yè)。主要研究智能金融、智能優(yōu)化及工業(yè)數(shù)據(jù)分析等。
目錄
向上滑動閱覽
第1章緒論1
1.1程序、軟件與應(yīng)用1
1.2全棧應(yīng)用開發(fā)1
1.3環(huán)境安裝4
1.3.1VisualStudio5
1.3.2Docker5
1.4練習(xí)7
第2章協(xié)作開發(fā)方法8
2.1開發(fā)規(guī)范8
2.1.1命名規(guī)范8
2.1.2排版規(guī)范13
2.1.3注釋規(guī)范16
2.1.4項目組織規(guī)范17
2.2源代碼管理18
2.2.1源代碼管理工具18
2.2.2分支開發(fā)26
2.3練習(xí)29
第3章對象創(chuàng)建技術(shù)30
3.1直接創(chuàng)建對象的問題30
3.2基本對象創(chuàng)建模式31
3.2.1靜態(tài)工廠方法模式31
3.2.2工廠方法模式32
3.2.3抽象工廠模式34
3.2.4建造者模式34
3.2.5原型模式37◆全棧開發(fā)方法與技術(shù)(微課視頻版)目錄◆〖2〗〖2〗3.3依賴注入37
3.3.1依賴注入模式37
3.3.2使用依賴注入38
3.4依賴注入容器的實現(xiàn)原理40
3.4.1反射技術(shù)簡述41
3.4.2使用反射描述類型43
3.4.3使用反射描述繼承46
3.4.4使用反射描述函數(shù)48
3.4.5使用反射調(diào)用構(gòu)造函數(shù)50
3.4.6依賴注入容器的實現(xiàn)52
3.5練習(xí)53
第4章數(shù)據(jù)管理技術(shù)55
4.1數(shù)據(jù)的分類55
4.2數(shù)據(jù)存儲技術(shù)57
4.2.1關(guān)系數(shù)據(jù)存儲57
4.2.2文檔數(shù)據(jù)存儲60
4.2.3鍵值數(shù)據(jù)存儲62
4.2.4對象數(shù)據(jù)存儲64
4.2.5列數(shù)據(jù)存儲66
4.2.6圖數(shù)據(jù)存儲67
4.2.7其他數(shù)據(jù)存儲70
4.3數(shù)據(jù)存儲的選擇依據(jù)75
4.3.1基于分類選擇數(shù)據(jù)存儲75
4.3.2選擇數(shù)據(jù)存儲的其他依據(jù)77
4.4數(shù)據(jù)存儲的優(yōu)化策略79
4.5數(shù)據(jù)的對象映射工具80
4.5.1對象關(guān)系映射工具80
4.5.2對象文檔映射工具82
4.6練習(xí)83
第5章應(yīng)用測試技術(shù)84
5.1單元測試技術(shù)84
5.2Mock技術(shù)88
5.2.1設(shè)置Mock88
5.2.2驗證調(diào)用90
5.2.3靜態(tài)Mock92
5.2.4Mock的實現(xiàn)原理95
5.3單元測試的規(guī)劃方法98
5.3.1馬上測試98
5.3.2減少依賴98
5.3.3考慮周全99
5.3.4還原現(xiàn)場99
5.4測試的覆蓋率102
5.5不可測試的代碼106
5.6練習(xí)107
第6章用戶界面開發(fā)方法109
6.1自適應(yīng)像素109
6.2界面的布局111
6.2.1絕對布局111
6.2.2相對布局113
6.2.3網(wǎng)格布局115
6.2.4線性布局119
6.3響應(yīng)式布局120
6.4普通控件123
6.4.1控件的屬性124
6.4.2控件的事件126
6.4.3控件的函數(shù)128
6.5批量生成控件130
6.5.1模板控件130
6.5.2確定用戶交互的數(shù)據(jù)131
6.6擴(kuò)展控件的功能133
6.7練習(xí)134
第7章客戶端開發(fā)的MVVM+IService架構(gòu)135
7.1MVVM模式135
7.1.1Model135
7.1.2View136
7.1.3ViewModel137
7.1.4連接MVVM138
7.2IService142
7.3綁定144
7.3.1數(shù)據(jù)綁定144
7.3.2命令綁定148
7.3.3綁定的上下文149
7.4MVVM+IService架構(gòu)的測試152
7.4.1測試ViewModel152
7.4.2測試Service153
7.4.3測試命令154
7.4.4測試屬性157
7.5練習(xí)158
第8章高級MVVM+IService架構(gòu)技術(shù)160
8.1值轉(zhuǎn)換器160
8.1.1正向值轉(zhuǎn)換160
8.1.2反向值轉(zhuǎn)換162
8.2跨層級調(diào)用與MVVM+IService架構(gòu)的本質(zhì)164
8.3ViewModelinViewModel168
8.4跨ViewModel數(shù)據(jù)同步170
8.4.1使用事件172
8.4.2使用消息機(jī)制176
8.5練習(xí)179
第9章提升用戶體驗的開發(fā)方法180
9.1多線程開發(fā)方法180
9.1.1線程的創(chuàng)建183
9.1.2線程沖突185
9.1.3線程鎖187
9.1.4雙重檢查鎖189
9.2緩存191
9.2.1內(nèi)存緩存192
9.2.2外存緩存193
9.2.3多級緩存194
9.2.4緩存的刷新195
9.3平臺功能198
9.3.1訪問文件198
9.3.2使用嵌入式資源199
9.3.3獲取設(shè)備與傳感器信息201
9.4練習(xí)202
第10章遠(yuǎn)程數(shù)據(jù)訪問方法203
10.1訪問JSONWeb服務(wù)203
10.1.1
10.1.2JSON序列化與反序列化205
10.1.3JSONWeb服務(wù)描述規(guī)范207
10.2實時通信技術(shù)211
10.2.1WebSocket212
10.2.2SignalR214
10.3gRPC215
10.3.1定義服務(wù)215
10.3.2開發(fā)服務(wù)端216
10.3.3開發(fā)客戶端217
10.4練習(xí)218
第11章JSONWeb服務(wù)端開發(fā)方法219
11.1服務(wù)端開發(fā)的MVC+IService架構(gòu)219
11.1.1Model219
11.1.2View219
11.1.3Controller221
11.1.4Web服務(wù)的Controller222
11.1.5IService223
11.2服務(wù)器端數(shù)據(jù)訪問方法224
11.2.1定義數(shù)據(jù)Model225
11.2.2安裝NuGet包225
11.2.3定義實體類型配置226
11.2.4定義DbContext226
11.2.5注冊DbContext到依賴注入容器227
11.2.6創(chuàng)建數(shù)據(jù)庫遷移228
11.2.7使用DbContext訪問數(shù)據(jù)庫232
11.2.8IService與DbContext236
11.3練習(xí)238
第12章微服務(wù)架構(gòu)方法240
12.1單體應(yīng)用與微服務(wù)架構(gòu)240
12.1.1單體應(yīng)用240
12.1.2單體應(yīng)用的優(yōu)點241
12.1.3單體應(yīng)用的缺點241
12.1.4微服務(wù)架構(gòu)及其優(yōu)點243
12.1.5微服務(wù)架構(gòu)的缺點244
12.2微服務(wù)架構(gòu)開發(fā)方法245
12.2.1容器化245
12.2.2Docker245
12.2.3容器編排247
12.2.4面向容器化的開發(fā)方法249
12.3微服務(wù)架構(gòu)設(shè)計254
12.4微服務(wù)架構(gòu)參考項目255
12.5練習(xí)257
參考文獻(xiàn)258
電子資源展示
本書配套豐富的課程資源,以供教師教學(xué)和學(xué)生自學(xué)。
微課視頻講解(以第2章為例,本書共附有150余個微課視頻):
課件內(nèi)容(以第2章為例):
源代碼(配套全書全部源代碼,這里以第3章為例):
精彩樣章
向上滑動閱覽
評論