注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合大型iOS應(yīng)用開發(fā):應(yīng)用架構(gòu)與設(shè)計模式

大型iOS應(yīng)用開發(fā):應(yīng)用架構(gòu)與設(shè)計模式

大型iOS應(yīng)用開發(fā):應(yīng)用架構(gòu)與設(shè)計模式

定 價:¥109.00

作 者: [美]埃里克·文納洛
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111768098 出版時間: 2025-01-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書概述了移動工程師面臨的擴展挑戰(zhàn),以及處理這些問題的一些標準技術(shù)和設(shè)計模式。從學習 iOS 平臺的基礎(chǔ)知識開始,這些基礎(chǔ)知識在使用開箱即用的 iOS 解決方案時經(jīng)常被忽視。掌握了基礎(chǔ)知識后,接下來將重點學習架構(gòu)和設(shè)計原則,以便在大型代碼庫中構(gòu)建、維護和發(fā)布功能,并掌握在大型組織中實施變革的軟技能。讀者將對 iOS 設(shè)計模式有更深入的了解,并掌握將功能從想法轉(zhuǎn)化為產(chǎn)品所需的行業(yè)知識。本書還將介紹在大型組織中完成工作所需的人際交往技能——這是個人職業(yè)發(fā)展的關(guān)鍵一步。

作者簡介

  埃里克·文納洛(Eric Vennaro)Meta的一位團隊負責人,他在交付高影響力、技術(shù)復雜的項目方面具有豐富的經(jīng)驗,擅長移動端、網(wǎng)頁端和后端基礎(chǔ)設(shè)施等領(lǐng)域。他還對機器學習和隱私問題感興趣,尤其關(guān)注通過機器學習支持的工具來提升隱私保護效果的交叉學科。在負責iOS平臺的工作并招聘iOS工程師時,埃里克注意到市面上缺少介紹大型移動應(yīng)用開發(fā)的應(yīng)用架構(gòu)與設(shè)計模式的資料,因此決定將自己領(lǐng)導移動項目的經(jīng)驗總結(jié)出來,撰寫了這本書。

圖書目錄

目  錄
譯者序
前 言
第一部分 Apple 系統(tǒng)基礎(chǔ)知識
第1章 熟悉Swift 2
1.1 本章概要 2
1.2 結(jié)構(gòu)體與類 2
1.2.1 探索引用類型與值類型 4
1.2.2 類的繼承 7
1.2.3 協(xié)議 8
1.3 泛型實踐 10
1.3.1 泛型函數(shù) 11
1.3.2 泛型類型 11
1.4 總結(jié) 14
1.4.1 本章要點 14
1.4.2 擴展閱讀 14
第2章 內(nèi)存管理 15
2.1 本章概要 15
2.2 Swift程序內(nèi)存使用情況 15
2.2.1 ?!?6
2.2.2 堆 17
2.2.3 緩沖區(qū)上溢與下溢 18
2.3 Swift內(nèi)存模型 18
2.3.1 Swift棧分配 18
2.3.2 Swift堆分配 19
2.4 自動引用計數(shù) 20
2.4.1 引用計數(shù)實踐 21
2.4.2 ARC觀察生命周期的bug 25
2.5 方法派發(fā) 25
2.5.1 靜態(tài)派發(fā) 26
2.5.2 動態(tài)派發(fā) 26
2.5.3 支持值類型的多態(tài)性 27
2.5.4 應(yīng)用內(nèi)存管理 31
2.6 總結(jié) 32
2.6.1 本章要點 32
2.6.2 擴展閱讀 32
第3章 iOS持久化選項 33
3.1 概述 33
3.2 iOS持久化選項介紹 34
3.2.1 保存到文件 34
3.2.2 NSUserDefaults 35
3.2.3 鑰匙串 37
3.2.4 Core Data 38
3.2.5 深入探索SQLite 41
3.3 案例:緩存Photo Stream 48
3.3.1 高效地獲取圖片 56
3.3.2 在應(yīng)用程序啟動過程中持久化
緩存圖片 56
3.3.3 封裝緩存解決方案 56
3.3.4 小結(jié) 57
3.4 總結(jié) 57
3.4.1 本章要點 58
3.4.2 擴展閱讀 58
第4章 并發(fā)編程 59
4.1 概述 59
4.2 并發(fā)、并行還是異步 60
4.2.1 并發(fā) 60
4.2.2 多線程 60
4.2.3 并行 60
4.2.4 異步編程 61
4.2.5 這將通往何方 61
4.3 并發(fā)成本 62
4.3.1 線程成本 62
4.3.2 管理狀態(tài)共享 63
4.3.3 難以調(diào)試 63
4.4 實現(xiàn)并發(fā) 63
4.4.1 線程和鎖 63
4.4.2 使用GCD和調(diào)度隊列 66
4.4.3 Operation隊列 70
4.4.4 Swift并發(fā) 70
4.4.5 深入探討:實現(xiàn)并發(fā)的挑戰(zhàn) 76
4.5 現(xiàn)實應(yīng)用程序中的考量 79
4.5.1 案例1:擴展Meta的
NewsFeed 79
4.5.2 案例2:構(gòu)建Swift并發(fā) 81
4.6 總結(jié) 81
4.6.1 本章要點 82
4.6.2 擴展閱讀 82
第二部分 應(yīng)用程序架構(gòu)和設(shè)計模式
第5章 優(yōu)質(zhì)架構(gòu)的重要性 84
5.1 概述 84
5.2 定義優(yōu)質(zhì)架構(gòu) 85
5.3 模塊化 87
5.3.1 模塊化案例研究 88
5.3.2 模塊化總結(jié) 90
5.4 可測試性 90
5.4.1 測試案例研究 90
5.4.2 可測試性總結(jié) 92
5.5 選擇一個架構(gòu) 92
5.6 總結(jié) 92
5.6.1 本章要點 93
5.6.2 擴展閱讀 93
第6章 常見的設(shè)計模式 94
6.1 概述 94
6.2 為什么設(shè)計模式是程序設(shè)計的基石 95
6.3 設(shè)計模式 95
6.3.1 總體主題 95
6.3.2 代理模式 96
6.3.3 外觀模式(結(jié)構(gòu)型) 99
6.3.4 建造者模式 101
6.3.5 工廠模式 106
6.3.6 單例模式 110
6.3.7 依賴注入 112
6.3.8 協(xié)調(diào)器模式 115
6.3.9 觀察者模式 121
6.4 總結(jié) 126
6.4.1 本章要點 126
6.4.2 擴展閱讀 126
第7章 MVC架構(gòu) 127
7.1 概述 127
7.2 深入探討MVC 127
7.2.1 MVC組件 128
7.2.2 組件間的交互 129
7.2.3 MVC 示例 130
7.2.4 討論 138
7.3 總結(jié) 146
7.3.1 本章要點 146
7.3.2 擴展閱讀 146
第8章 MVVM 147
8.1 概述 147
8.2 深入探討MVVM 147
8.2.1 MVVM組件 149
8.2.2 組件間的交互 150
8.2.3 MVVM示例 151
8.2.4 討論 156
8.3 總結(jié) 158
8.3.1 本章要點 159
8.3.2 擴展閱讀 159
第9章 VIPER 160
9.1 概述 160
9.2 深入探討VIPER 161
9.2.1 VIPER組件 161
9.2.2 組件間的交互 162
9.2.3 VIPER示例 163
9.2.4 討論 174
9.3 總結(jié) 175
9.3.1 本章要點 176
9.3.2 擴展閱讀 176
第10章 響應(yīng)式編程范式 177
10.1 概述 177
10.2 響應(yīng)式編程 177
10.2.1 游戲規(guī)則 178
10.2.2 數(shù)據(jù)傳播技術(shù) 180
10.2.3 與可變狀態(tài)的交互  182
10.3 函數(shù)響應(yīng)式編程 183
10.3.1 范疇論 184
10.3.2 函子 185
10.3.3 幺半群 185
10.3.4 單子 186
10.4 FRP與Combine 187
10.4.1 發(fā)布者與訂閱者 187
10.4.2 Combine 的行為 188
10.4.3 應(yīng)用程序架構(gòu) 188
10.5 響應(yīng)式編程與函數(shù)響應(yīng)式編程的
益處 191
10.6 總結(jié) 192
10.6.1 本章要點 193
10.6.2 擴展閱讀 193
第三部分 大型應(yīng)用程序設(shè)計
第11章 系統(tǒng)設(shè)計流程 196
11.1 概述 196
11.2 軟件開發(fā)生命周期 197
11.2.1 SDLC 如何運作 197
11.2.2 SDLC 模型 202
11.3 技術(shù)負責人的關(guān)鍵作用 206
11.4 專注技能的視角 207
11.4.1 定位問題 207
11.4.2 解決方案設(shè)計 207
11.4.3 溝通 208
11.5 為成功設(shè)定目標 213
11.5.1 S:具體的 213
11.5.2 M:可衡量的 213
11.5.3 A:可實現(xiàn)的 213
11.5.4 R:相關(guān)的 213
11.5.5 T:有時間限制的 214
11.6 SDLC為何重要 215
11.7 總結(jié) 216
11.7.1 本章要點 216
11.7.2 擴展閱讀 217
第12章 可測試性 218
12.1 概述 218
12.2 為何需要測試 219
12.3 單元測試 219
12.3.1 編寫可測試的代碼 225
12.3.2 setter注入 225
12.4 集成測試 226
12.5 契約測試 228
12.6 UI測試 229
12.7 手動測試 229
12.8 大規(guī)模測試管理 231
12.8.1 測試用例優(yōu)先級排序 231
12.8.2 測試套件的分類 232
12.8.3 對手動測試進行優(yōu)先級
排序 232
12.8.4 隨著時間管理測試 232
12.9 如果我沒有測試該怎么辦 233
12.10 總結(jié) 233
12.10.1 本章要點 233
12.10.2 擴展閱讀 234
第13章 性能 235
13.1 概述 235
13.2 為什么性能很重要 236
13.3 iOS性能評估時需要考慮的因素 236
13.4 關(guān)鍵概念 236
13.4.1 頂層指標 237
13.4.2 中間指標 238
13.4.3 漏斗日志 238
13.4.4 評估百分位數(shù) 239
13.4.5 監(jiān)控與警報 239
13.5 完整的性能周期 240
13.5.1 了解你的工具 240
13.5.2 應(yīng)用程序增長 240
13.5.3 調(diào)試性能問題 241
13.5.4 應(yīng)用奧卡姆剃刀原則 242
13.5.5 持續(xù)測試與評估 242
13.6 性能指標 243
13.6.1 應(yīng)用程序大小 243
13.6.2 應(yīng)用程序啟動時間 244
13.6.3 應(yīng)用程序響應(yīng)性(卡頓) 246
13.6.4 耗電量 248
13.6.5 應(yīng)用程序崩潰 248
13.6.6 網(wǎng)絡(luò)相關(guān)指標 249
13.6.7 參與度指標 250
13.7 簡要實例 251
13.8 總結(jié) 253
13.8.1 本章要點 253
13.8.2 擴展閱讀 253
第14章 實驗操作 254
14.1 本章概要 254
14.2 為什么實驗很重要 255
14.3 理論實驗平臺 255
14.3.1 實驗總體 256
14.3.2 實驗工具 257
14.3.3 度量評估平臺 259
14.4 科學方法與假設(shè)檢驗 260
14.4.1 將科學方法應(yīng)用于我們的Photo Stream示例 261
14.4.2 實驗設(shè)計與實施 262
14.4.3 結(jié)果分析 265
14.5 常見陷阱 278
14.5.1 多重比較問題 278
14.5.2 實驗污染 278
14.5.3 聲稱無統(tǒng)計顯著性的結(jié)果是
中性的 278
14.5.4 進行規(guī)模過小的實驗
(低功效) 279
14.5.5 p值操縱 279
14.5.6 對后處理變量的過濾 279
14.5.7 稀釋 279
14.5.8 不等待結(jié)果穩(wěn)定 279
14.5.9 非代表性測試體驗與
人群 280
14.5.10 忽視網(wǎng)絡(luò)效應(yīng) 280
14.5.11 Pre-AA 偏差 280
14.6 額外驗證步驟 281
14.7 總結(jié) 281
14.7.1 本章要點 281
14.7.2 擴展閱讀 282
第15章 應(yīng)用程序發(fā)布與維護 283
15.1 本章概要 283
15.2 持續(xù)集成與交付管理:構(gòu)建
過程 284
15.2.1 保持主干穩(wěn)定 287
15.2.2 管理構(gòu)建時間 287
15.2.3 持續(xù)交付 288
15.2.4 發(fā)布基礎(chǔ)設(shè)施 288
15.3 發(fā)布一個大型項目 291
15.3.1 在構(gòu)建功能時 291
15.3.2 滿足發(fā)布標準 293
15.3.3 內(nèi)部測試與灰度發(fā)布 293
15.3.4 發(fā)布 294
15.4 警報與監(jiān)控 294
15.4.1 日志記錄 294
15.4.2 監(jiān)控 295
15.4.3 警報 295
15.4.4 日志記錄到警報示例 296
15.5 維護 296
15.6 總結(jié) 296
15.6.1 本章要點 297
15.6.2 擴展閱讀 298
第四部分 在大型項目中的領(lǐng)導力
第16章 領(lǐng)導多個團隊 300
16.1 本章概要 301
16.2 工程師原型 301
16.2.1 修復者 301
16.2.2 技術(shù)負責人 301
16.2.3 架構(gòu)師 302
16.2.4 執(zhí)行助理 302
16.3 高級工程師的要求 302
16.3.1 廣度 303
16.3.2 深度 303
16.3.3 范圍 303
16.3.4 運用廣度、深度和范圍 304
16.3.5 連接整個系統(tǒng) 305
16.3.6 以指標為導向的團隊
簡介 306
16.3.7 平衡每個維度 307
16.4 成為一名全面發(fā)展的高級
工程師 308
16.4.1 理解技術(shù)概念的簡短題
外話 308
16.4.2 為什么需要軟技能 308
16.4.3 情境領(lǐng)導模型 308
16.4.4 建立關(guān)系 315
16.5 總結(jié) 317
16.5.1 本章要點 317
16.5.2 擴展閱讀 317
第17章 實際案例 318
17.1 自上而下與自下而上 318
17.2 案例研究中角色與原型的
說明 328
17.2.1 原型 328
17.2.2 總體說明 329
17.3 總結(jié) 330
附錄 完善的五年規(guī)劃 331

本目錄推薦

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