ASP.NET Core技術(shù)內(nèi)幕與項(xiàng)目實(shí)戰(zhàn)
定 價(jià):119 元
- 作者:楊中科
- 出版時(shí)間:2022/6/1
- ISBN:9787115586575
- 出 版 社:人民郵電出版社
- 中圖法分類(lèi):TP393.092.2
- 頁(yè)碼:396
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)講解.NET平臺(tái)下的異步編程、LINQ、依賴(lài)注入、配置系統(tǒng)、日志等相關(guān)技術(shù)的原理與應(yīng)用;深入且全面地介紹Entity Framework Core在項(xiàng)目中的應(yīng)用場(chǎng)景,剖析Entity Framework Core的實(shí)現(xiàn)原理。本書(shū)在講解使用ASP.NET Core進(jìn)行Web API開(kāi)發(fā)的同時(shí),結(jié)合作者的實(shí)踐經(jīng)驗(yàn)介紹REST、前后端分離等編程理念在ASP.NET Core中的實(shí)現(xiàn)。此外,本書(shū)還會(huì)介紹領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)的理念,并且通過(guò)來(lái)自項(xiàng)目開(kāi)發(fā)一線(xiàn)的案例講解DDD理念在項(xiàng)目中的技術(shù)落地方案。最后,本書(shū)通過(guò)真實(shí)的英語(yǔ)學(xué)習(xí)網(wǎng)站的項(xiàng)目案例講解ASP.NET Core技術(shù)在項(xiàng)目中的應(yīng)用?傮w而言,本書(shū)不僅介紹技術(shù)的使用,而且講解技術(shù)的底層原理;不僅介紹作者在項(xiàng)目開(kāi)發(fā)一線(xiàn)的實(shí)踐經(jīng)驗(yàn),而且講解綜合項(xiàng)目案例的具體實(shí)現(xiàn)。
本書(shū)可供具有一定編程基礎(chǔ)的開(kāi)發(fā)人員學(xué)習(xí)ASP.NET Core的使用方法,也可供具有一定經(jīng)驗(yàn)的.NET開(kāi)發(fā)人員了解.NET的內(nèi)部原理和學(xué)習(xí)相關(guān)項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn),還可作為大中專(zhuān)院校學(xué)生的ASP.NET Core教材。
作者說(shuō):寫(xiě)一本關(guān)于.NET Core的書(shū)并不難,但是寫(xiě)一本關(guān)于.NET Core的好書(shū)太難了!如果只是為了寫(xiě)一本講解.NET Core的書(shū),我只要照著微軟的官方文檔去改編一下就行了,但是這樣編出來(lái)的書(shū)有什么價(jià)值呢?微軟的.NET文檔所講的內(nèi)容已經(jīng)非常豐富了,我沒(méi)必要再去把它們重復(fù)一遍。我需要講解微軟文檔中沒(méi)有講到的內(nèi)容,讀者也需要這樣一本書(shū):
> 講解相關(guān)技術(shù)背后的原理;
> 講解相關(guān)技術(shù)應(yīng)用在哪些場(chǎng)景中;
> 講解相關(guān)技術(shù)有哪些優(yōu)缺點(diǎn);
> 講解相關(guān)技術(shù)在項(xiàng)目中如何應(yīng)用;
> 講解真實(shí)項(xiàng)目的架構(gòu)和技術(shù)實(shí)現(xiàn)。
為了達(dá)成上述目標(biāo),我在編寫(xiě)本書(shū)的時(shí)候做了大量的底層源代碼的研究工作。比如,在講解“異步編程”的時(shí)候,我翻閱了.NET中異步編程的源代碼,從而幫助讀者更好地理解和應(yīng)用異步編程;又如,在講解“表達(dá)式樹(shù)”的時(shí)候,我翻閱了EF Core的表達(dá)式樹(shù)翻譯引擎,并且編寫(xiě)了一個(gè)關(guān)于翻譯引擎的開(kāi)源項(xiàng)目,以幫助讀者理解“表達(dá)式樹(shù)”的底層原理。
項(xiàng)目中很多技術(shù)的講解需要基于具有一定深度的實(shí)踐應(yīng)用案例,這樣才能避免技術(shù)的講解流于表面,因此我在本書(shū)中編入了很多具有深度的案例。比如,在講解依賴(lài)注入的時(shí)候,我通過(guò)開(kāi)發(fā)一個(gè)自己的配置系統(tǒng)、日志系統(tǒng)講解依賴(lài)注入是如何把系統(tǒng)組件裝配在一起的;又如,在講解ASP.NET Core中間件的時(shí)候,我編寫(xiě)了一個(gè)模仿ASP.NET Core Web API的框架,為讀者講解中間件的實(shí)際應(yīng)用。
特別說(shuō)明:
□ 關(guān)于配套資源
鑒于篇幅受限,作者不能把本書(shū)每個(gè)案例的每一行代碼都寫(xiě)到書(shū)中,即書(shū)中的代碼都是關(guān)鍵代碼。如果讀者想要本書(shū)配套的全部代碼,則可通過(guò)人郵教育社區(qū)(www.ryjiaoyu.com)中的本書(shū)所在頁(yè)面進(jìn)行獲取。
□ 關(guān)于視頻教程
本書(shū)還贈(zèng)送讀者配套視頻教程。在視頻教程中,作者從與圖書(shū)不同的角度對(duì)技術(shù)進(jìn)行詮釋。讀者結(jié)合視頻教程學(xué)習(xí)本書(shū),效果會(huì)更好。讀者可以通過(guò)嗶哩嗶哩搜索“楊中科”以觀看相關(guān)視頻教程,也可通過(guò)人郵教育社區(qū)下載相關(guān)視頻教程。
□ 遇到問(wèn)題怎么辦
讀者可以添加作者微信“yzk10240124”以與作者進(jìn)行交流,同時(shí)可以將您針對(duì)本書(shū)的修改建議與意見(jiàn)反饋給作者。同時(shí),關(guān)于本書(shū)的勘誤與答疑,以及新版功能免費(fèi)博客等內(nèi)容,讀者也可以通過(guò)讀者微信進(jìn)行了解。祝您學(xué)習(xí)愉快!
楊中科:
.NET方向微軟MVP,擁有約30萬(wàn)粉絲以及近18年的IT行業(yè)軟件開(kāi)發(fā)工作經(jīng)驗(yàn),擅長(zhǎng)軟件架構(gòu)設(shè)計(jì)與底層框架研究,具有應(yīng)用.NET、Java、Python、C等的豐富經(jīng)驗(yàn),編寫(xiě)的技術(shù)文章和錄制的視頻教程深入淺出、通俗易懂、備受好評(píng);同時(shí),出版了多部?jī)?yōu)秀的軟件開(kāi)發(fā)技術(shù)圖書(shū)。
【章名目錄】
第 1章 .NET Core入門(mén) 1
第 2章 .NET Core重難點(diǎn)知識(shí) 14
第3章 .NET Core核心基礎(chǔ)組件 53
第4章 Entity Framework Core基礎(chǔ) 75
第5章 EF Core高級(jí)技術(shù) 116
第6章 ASP.NET Core Web API基礎(chǔ) 155
第7章 ASP.NET Core基礎(chǔ)組件 183
第8章 ASP.NET Core高級(jí)組件 243
第9章 DDD實(shí)戰(zhàn) 298
第 10章 項(xiàng)目案例:英語(yǔ)學(xué)習(xí)網(wǎng)站 359
【詳細(xì)目錄】
第 1章 .NET Core入門(mén) 1
1.1 .NET Core概述 1
1.1.1 .NET平臺(tái)的昨天 1
1.1.2 為什么要跨平臺(tái) 2
1.1.3 .NET Core 是.NET Framework的升級(jí)版嗎 2
1.1.4 .NET Framework中哪些技術(shù)不被支持 4
1.1.5 .NET Standard是什么 6
1.1.6 項(xiàng)目應(yīng)該使用.NET Core開(kāi)發(fā)嗎 10
1.2 .NET Core 開(kāi)發(fā)環(huán)境的搭建 10
1.2.1 用什么開(kāi)發(fā)工具開(kāi)發(fā).NET Core 11
1.2.2 .NET Core項(xiàng)目結(jié)構(gòu)的創(chuàng)新 11
1.3 本章小結(jié) 13
第 2章 .NET Core重難點(diǎn)知識(shí) 14
2.1 C#的新語(yǔ)法 14
2.1.1 頂級(jí)語(yǔ)句 14
2.1.2 全局using指令 15
2.1.3 using聲明 16
2.1.4 文件范圍的命名空間聲明 17
2.1.5 可為空的引用類(lèi)型 18
2.1.6 記錄類(lèi)型 20
2.2 異步編程 23
2.2.1 為什么要用異步編程 24
2.2.2 輕松上手await、async 25
2.2.3 如何編寫(xiě)異步方法 27
2.2.4 async、await原理揭秘 28
2.2.5 async背后的線(xiàn)程切換 33
2.2.6 異步方法不等于多線(xiàn)程 34
2.2.7 為什么有的異步方法沒(méi)有async 36
2.2.8 異步編程的幾個(gè)重要問(wèn)題 39
2.3 LINQ 40
2.3.1 Lambda表達(dá)式 41
2.3.2 常用集合類(lèi)的擴(kuò)展方法 43
2.3.3 LINQ的另一種寫(xiě)法 51
2.4 本章小結(jié) 52
第3章 .NET Core核心基礎(chǔ)組件 53
3.1 依賴(lài)注入 53
3.1.1 什么是控制反轉(zhuǎn)、服務(wù)定位器和依賴(lài)注入 53
3.1.2 .NET Core依賴(lài)注入的基本使用 55
3.1.3 依賴(lài)注入魅力所在 57
3.2 配置系統(tǒng) 60
3.2.1 配置系統(tǒng)的基本使用 60
3.2.2 使用選項(xiàng)方式讀取配置 61
3.2.3 從命令行讀取配置 65
3.2.4 從環(huán)境變量讀取配置 66
3.2.5 其他配置提供程序 66
3.2.6 案例:開(kāi)發(fā)自己的配置提供程序 67
3.2.7 多配置源問(wèn)題 69
3.3 日志 70
3.3.1 .NET Core日志基本使用 71
3.3.2 文件日志提供程序NLog 72
3.3.3 集中式日志 73
3.4 本章小結(jié) 74
第4章 Entity Framework Core基礎(chǔ) 75
4.1 EF Core概述 75
4.1.1 什么是ORM 75
4.1.2 EF Core性能怎么樣 76
4.2 EF Core入門(mén) 76
4.2.1 該選擇什么數(shù)據(jù)庫(kù) 76
4.2.2 EF Core環(huán)境搭建 77
4.2.3 插入數(shù)據(jù) 81
4.2.4 查詢(xún)數(shù)據(jù) 82
4.2.5 修改和刪除數(shù)據(jù) 83
4.3 EF Core的實(shí)體類(lèi)配置 84
4.3.1 約定大于配置 84
4.3.2 Data Annotation 85
4.3.3 Fluent API 85
4.3.4 Fluent API基本配置 86
4.3.5 Fluent API究竟流暢在哪里 88
4.3.6 主鍵類(lèi)型的選擇并不簡(jiǎn)單 89
4.4 數(shù)據(jù)庫(kù)遷移 92
4.4.1 數(shù)據(jù)庫(kù)遷移原理 92
4.4.2 其他數(shù)據(jù)庫(kù)遷移命令 95
4.4.3 反向工程(慎用) 95
4.5 查看EF Core生成的SQL語(yǔ)句 96
4.5.1 使用簡(jiǎn)單日志查看SQL語(yǔ)句 96
4.5.2 探秘EF Core生成SQL語(yǔ)句的不同 97
4.6 關(guān)系配置 100
4.6.1 一對(duì)多 100
4.6.2 關(guān)聯(lián)數(shù)據(jù)的獲取 103
4.6.3 實(shí)體類(lèi)對(duì)象的關(guān)聯(lián)追蹤 104
4.6.4 關(guān)系的外鍵屬性的設(shè)置 105
4.6.5 單向?qū)Ш綄傩浴?06
4.6.6 關(guān)系配置在哪個(gè)實(shí)體類(lèi)中 108
4.6.7 一對(duì)一 109
4.6.8 多對(duì)多 111
4.6.9 基于關(guān)系的復(fù)雜查詢(xún) 114
4.7 本章小結(jié) 115
第5章 EF Core高級(jí)技術(shù) 116
5.1 EF Core原理揭秘 116
5.1.1 EF Core有哪些做不到的事情 116
5.1.2 既生IEnumerable,何生IQueryable 117
5.1.3 IQueryable的延遲執(zhí)行 119
5.1.4 IQueryable的復(fù)用 122
5.1.5 EF Core分頁(yè)查詢(xún) 122
5.1.6 IQueryable的底層運(yùn)行 124
5.1.7 EF Core中的異步方法 126
5.1.8 如何執(zhí)行原生SQL語(yǔ)句 127
5.1.9 怎么知道實(shí)體類(lèi)變化了 129
5.2 EF Core的性能優(yōu)化利器 131
5.2.1 EF Core優(yōu)化之AsNoTracking 131
5.2.2 實(shí)體類(lèi)狀態(tài)跟蹤的妙用 132
5.2.3 Find和FindAsync方法 134
5.2.4 EF Core中高效地刪除、更新數(shù)據(jù) 134
5.2.5 全局查詢(xún)篩選器 135
5.2.6 悲觀并發(fā)控制 136
5.2.7 樂(lè)觀并發(fā)控制 138
5.3 表達(dá)式樹(shù) 142
5.3.1 什么是表達(dá)式樹(shù) 142
5.3.2 Expression和Func的區(qū)別 142
5.3.3 可視化查看表達(dá)式樹(shù) 143
5.3.4 通過(guò)代碼查看表達(dá)式樹(shù) 145
5.3.5 通過(guò)代碼動(dòng)態(tài)構(gòu)建表達(dá)式樹(shù) 146
5.3.6 讓動(dòng)態(tài)構(gòu)建表達(dá)式樹(shù)更簡(jiǎn)單 148
5.3.7 讓構(gòu)建“動(dòng)態(tài)”起來(lái) 149
5.3.8 不用Emit實(shí)現(xiàn)Select的動(dòng)態(tài)化 152
5.3.9 避免動(dòng)態(tài)構(gòu)建表達(dá)式樹(shù) 153
5.4 本章小結(jié) 154
第6章 ASP.NET Core Web API基礎(chǔ) 155
6.1 ASP.NET Core MVC項(xiàng)目 155
6.1.1 ASP.NET Core MVC項(xiàng)目的搭建 155
6.1.2 編寫(xiě)第 一個(gè)MVC程序 157
6.1.3 .NET Core的新工具:熱重載 158
6.2 使用ASP.NET Core開(kāi)發(fā)Web API 159
6.2.1 Web API項(xiàng)目的搭建 159
6.2.2 Post、Put等操作方法 161
6.3 Restful:想說(shuō)愛(ài)你不容易 163
6.3.1 什么是Restful 163
6.3.2 Restful的優(yōu)缺點(diǎn) 165
6.3.3 Restful中如何傳遞參數(shù) 167
6.3.4 返回錯(cuò)誤碼:200派與4xx派的“對(duì)決” 167
6.3.5 Restful實(shí)現(xiàn)指南 170
6.4 ASP.NET Core Web API各種技術(shù)及選擇 171
6.4.1 控制器父類(lèi)用哪個(gè) 171
6.4.2 操作方法的異步、返回值、狀態(tài)碼 171
6.4.3 操作方法的參數(shù)從哪里來(lái) 173
6.5 ASP.NET Core Web API案例 176
6.5.1 開(kāi)發(fā)Web API 176
6.5.2 什么是前后端分離 177
6.5.3 搭建前端開(kāi)發(fā)環(huán)境 178
6.5.4 如何實(shí)現(xiàn)前后端分離開(kāi)發(fā) 179
6.6 本章小結(jié) 182
第7章 ASP.NET Core基礎(chǔ)組件 183
7.1 ASP.NET Core中的依賴(lài)注入 183
7.1.1 對(duì)象注入的代碼寫(xiě)到哪里 183
7.1.2 低使用頻率服務(wù)的另類(lèi)注入方式 185
7.1.3 案例:開(kāi)發(fā)模塊化的服務(wù)注冊(cè)框架 185
7.2 配置系統(tǒng)與ASP.NET Core的集成 188
7.2.1 默認(rèn)添加的配置提供者 188
7.2.2 ASP.NET Core的多環(huán)境設(shè)置 188
7.2.3 用“用戶(hù)機(jī)密”來(lái)避免機(jī)密信息的泄露 190
7.2.4 案例:配置系統(tǒng)綜合 191
7.3 EF Core與ASP.NET Core的集成 193
7.3.1 分層項(xiàng)目中EF Core的用法 193
7.3.2 使用“上下文池”時(shí)要謹(jǐn)慎 197
7.3.3 案例:批量注冊(cè)上下文 197
7.4 性能優(yōu)化“萬(wàn)金油”:緩存 198
7.4.1 什么是緩存 198
7.4.2 客戶(hù)端響應(yīng)緩存 200
7.4.3 服務(wù)器端響應(yīng)緩存 202
7.4.4 內(nèi)存緩存 204
7.4.5 緩存穿透問(wèn)題的規(guī)避 211
7.4.6 緩存雪崩問(wèn)題的規(guī)避 212
7.4.7 緩存數(shù)據(jù)混亂的規(guī)避 213
7.4.8 案例:封裝內(nèi)存緩存操作的幫助類(lèi) 213
7.4.9 分布式緩存 215
7.4.10 案例:封裝分布式緩存操作 的幫助類(lèi) 219
7.4.11 緩存方式的選擇 221
7.5 篩選器 221
7.5.1 異常篩選器 222
7.5.2 操作篩選器基礎(chǔ) 224
7.5.3 案例:自動(dòng)啟用事務(wù)的操作篩選器 226
7.5.4 案例:開(kāi)發(fā)請(qǐng)求限流器 228
7.6 中間件 229
7.6.1 什么是中間件 229
7.6.2 中間件的3個(gè)概念 230
7.6.3 簡(jiǎn)單演示中間件 231
7.6.4 案例:自己動(dòng)手模仿Web API框架 235
7.6.5 調(diào)整內(nèi)置中間件的順序,結(jié)果大不同 237
7.6.6 案例:Markdown轉(zhuǎn)換器中間件 238
7.6.7 篩選器與中間件的區(qū)別 241
7.7 本章小結(jié) 242
第8章 ASP.NET Core高級(jí)組件 243
8.1 Authentication與Authorization 243
8.1.1 標(biāo)識(shí)框架 244
8.1.2 實(shí)現(xiàn)密碼的重置 250
8.1.3 代替Session(會(huì)話(huà))的JWT 251
8.1.4 JWT的基本使用 253
8.1.5 ASP.NET Core對(duì)于JWT的封裝 257
8.1.6 [Authorize]的注意事項(xiàng) 259
8.1.7 讓Swagger中調(diào)試帶驗(yàn)證的請(qǐng)求更簡(jiǎn)單 260
8.1.8 解決JWT無(wú)法提前撤回的難題 261
8.1.9 總結(jié) 265
8.2 利用托管服務(wù)執(zhí)行后臺(tái)代碼 265
8.2.1 托管服務(wù)的基本使用 265
8.2.2 托管服務(wù)中使用依賴(lài)注入的陷阱 267
8.2.3 案例:數(shù)據(jù)的定時(shí)導(dǎo)出 267
8.3 請(qǐng)求數(shù)據(jù)的校驗(yàn) 269
8.3.1 .NET Core內(nèi)置數(shù)據(jù)校驗(yàn)的不足 269
8.3.2 FluentValidation的基本使用 270
8.3.3 FluentValidation中注入服務(wù) 271
8.4 SignalR服務(wù)器端消息推送 272
8.4.1 SignalR基本使用 273
8.4.2 協(xié)議協(xié)商 276
8.4.3 SignalR分布式部署 279
8.4.4 SignalR身份認(rèn)證 280
8.4.5 針對(duì)部分客戶(hù)端的消息推送 283
8.4.6 在外部向集線(xiàn)器推送消息 286
8.4.7 案例:導(dǎo)入英漢詞典到數(shù)據(jù)庫(kù)并顯示進(jìn)度 288
8.4.8 SignalR實(shí)踐指南 291
8.5 ASP.NET Core系統(tǒng)的部署 291
8.5.1 ASP.NET Core網(wǎng)站的發(fā)布 292
8.5.2 網(wǎng)站部署需要注意的幾個(gè)問(wèn)題 293
8.5.3 如何構(gòu)建一個(gè)安全的系統(tǒng) 296
8.6 本章小結(jié) 297
第9章 DDD實(shí)戰(zhàn) 298
9.1 架構(gòu)設(shè)計(jì)的術(shù)與道 298
9.1.1 架構(gòu)設(shè)計(jì)之怪現(xiàn)狀 298
9.1.2 架構(gòu)是進(jìn)化而來(lái)的 299
9.2 DDD的基本概念 300
9.2.1 什么是微服務(wù) 300
9.2.2 微服務(wù)架構(gòu)的誤區(qū) 301
9.2.3 DDD為什么難學(xué) 302
9.2.4 領(lǐng)域與領(lǐng)域模型 304
9.2.5 通用語(yǔ)言與界限上下文 305
9.2.6 實(shí)體類(lèi)與值對(duì)象 306
9.2.7 聚合與聚合根 307
9.2.8 領(lǐng)域服務(wù)與應(yīng)用服務(wù) 308
9.2.9 領(lǐng)域事件與集成事件 308
9.3 DDD的技術(shù)落地 311
9.3.1 貧血模型與充血模型 311
9.3.2 EF Core對(duì)實(shí)體類(lèi)屬性操作的秘密 315
9.3.3 EF Core中實(shí)現(xiàn)充血模型 317
9.3.4 EF Core中實(shí)現(xiàn)值對(duì)象 321
9.3.5 案例:構(gòu)建表達(dá)式樹(shù),簡(jiǎn)化值對(duì)象的比較 325
9.3.6 千萬(wàn)不要面向數(shù)據(jù)庫(kù)建!326
9.3.7 聚合在.NET中的實(shí)現(xiàn) 326
9.3.8 用MediatR實(shí)現(xiàn)領(lǐng)域事件 327
9.3.9 EF Core中發(fā)布領(lǐng)域事件的合適時(shí)機(jī) 329
9.3.10 RabbitMQ的基本使用 335
9.3.11 案例:簡(jiǎn)化集成事件的框架 338
9.3.12 案例:Zack.EventBus源代碼 講解 342
9.3.13 整潔架構(gòu)(洋蔥架構(gòu)) 343
9.4 DDD案例實(shí)戰(zhàn):用戶(hù)管理及登錄 344
9.4.1 實(shí)現(xiàn)整潔架構(gòu)項(xiàng)目分層 344
9.4.2 領(lǐng)域模型的實(shí)現(xiàn) 346
9.4.3 領(lǐng)域服務(wù)的實(shí)現(xiàn) 349
9.4.4 基礎(chǔ)設(shè)施的實(shí)現(xiàn) 352
9.4.5 工作單元的實(shí)現(xiàn) 354
9.4.6 應(yīng)用服務(wù)層的實(shí)現(xiàn) 356
9.5 本章小結(jié) 358
第 10章 項(xiàng)目案例:英語(yǔ)學(xué)習(xí)網(wǎng)站 359
10.1 需求說(shuō)明及項(xiàng)目演示 359
10.1.1 網(wǎng)站需求說(shuō)明 359
10.1.2 網(wǎng)站結(jié)構(gòu)說(shuō)明 360
10.1.3 項(xiàng)目結(jié)構(gòu)說(shuō)明 361
10.1.4 項(xiàng)目運(yùn)行環(huán)境搭建 362
10.1.5 主要功能演示 364
10.2 文件服務(wù)的開(kāi)發(fā) 367
10.2.1 開(kāi)發(fā)文件服務(wù)的領(lǐng)域?qū)印?67
10.2.2 開(kāi)發(fā)文件服務(wù)的基礎(chǔ) 設(shè)施層 369
10.3 認(rèn)證服務(wù)的開(kāi)發(fā) 371
10.3.1 開(kāi)發(fā)認(rèn)證服務(wù)的領(lǐng)域?qū)印?71
10.3.2 開(kāi)發(fā)認(rèn)證服務(wù)的基礎(chǔ) 設(shè)施層 373
10.3.3 開(kāi)發(fā)認(rèn)證服務(wù)的應(yīng)用服務(wù)層 373
10.4 英語(yǔ)聽(tīng)力服務(wù)的開(kāi)發(fā) 375
10.4.1 開(kāi)發(fā)英語(yǔ)聽(tīng)力服務(wù)的領(lǐng)域?qū)印?75
10.4.2 開(kāi)發(fā)英語(yǔ)聽(tīng)力服務(wù)的后臺(tái) 應(yīng)用服務(wù)層 381
10.4.3 開(kāi)發(fā)英語(yǔ)聽(tīng)力服務(wù)的前臺(tái) 應(yīng)用服務(wù)層 385
10.5 轉(zhuǎn)碼服務(wù)的開(kāi)發(fā) 387
10.5.1 開(kāi)發(fā)轉(zhuǎn)碼服務(wù)的領(lǐng)域?qū)印?87
10.5.2 開(kāi)發(fā)轉(zhuǎn)碼服務(wù)的基礎(chǔ)設(shè)施層 389
10.5.3 開(kāi)發(fā)轉(zhuǎn)碼服務(wù)的應(yīng)用服務(wù)層 390
10.6 搜索服務(wù)的實(shí)現(xiàn) 392
10.7 性能優(yōu)化的原則 394
10.8 項(xiàng)目總結(jié) 395
10.9 本章小結(jié) 396