大型iOS應用開發 應用架構與設計模式 IOS Development at Scale: App Architecture and Design Patterns for Mobile Engineers
Eric Vennaro 譯 樊志穎//李仁軍//溫志平
- 出版商: 機械工業
- 出版日期: 2025-01-01
- 售價: $654
- 貴賓價: 9.5 折 $621
- 語言: 簡體中文
- 頁數: 336
- 裝訂: 平裝
- ISBN: 7111768094
- ISBN-13: 9787111768098
-
相關分類:
Design Pattern
- 此書翻譯自: IOS Development at Scale: App Architecture and Design Patterns for Mobile Engineers (Paperback)
立即出貨
商品描述
本書概述了行動工程師面臨的擴展挑戰,以及處理這些問題的一些標準技術和設計模式。
從學習iOS平臺的基礎知識開始,這些基礎知識在使用開箱即用的iOS解決方案時經常被忽略。
掌握了基礎知識後,接下來將專註於學習架構和設計原則,
以便在大型程式碼庫中建置、維護和發布功能,並掌握在大型組織中實施變革的軟技能。
讀者將對iOS設計模式有更深入的瞭解,並掌握將功能從想法轉化為產品所需的行業知識。
本書也將介紹在大型組織中完成工作所需的人際交往技能——這是個人職涯發展的關鍵一步。
目錄大綱
目錄
譯者序
前言
第一部分 Apple系統基礎知識
第1章 熟悉Swift
1.1 本章概要
1.2 結構體與類
1.2.1 探索引用型別與值型
1.2.2 類別的繼承
1.2.3 協議
1.3 泛型實踐
1.3.1 泛型函數
1.3.2 泛型類型
1.4 總結
1.4.1 本章要點
1.4.2 擴展閱讀
第2章 內存管理
2.1 本章概要
2.2 Swift程式內存使用情況
2.2.1 棧
2.2.2 堆
2.2.3 緩衝區上溢與下溢
2.3 Swift內存模型
2.3.1 Swift堆疊分配
2.3.2 Swift堆分配
2.4 自動引用計數
2.4.1 引用計數實踐
2.4.2 ARC觀察生命週期的bug
2.5 方法派發
2.5.1 靜態派發
2.5.2 動態派發
2.5.3 支援值類型的多態性
2.5.4 應用內存管理
2.6 總結
2.6.1 本章要點
2.6.2 擴展閱讀
第3章 iOS持久化選項
3.1 概述
3.2 iOS持久化選項介紹
3.2.1 儲存到文件
3.2.2 NSUserDefaults
3.2.3 鑰匙串
3.2.4 Core Data
3.2.5 深入探索SQLite
3.3 案例:緩存Photo Stream
3.3.1 有效率地取得圖片
3.3.2 在應用程式啟動過程中持久化快取圖片
3.3.3 封裝快取解決方案
3.3.4 小結
3.4 總結
3.4.1 本章要點
3.4.2 延伸閱讀
第4章 並發程式設計
4.1 概述
4.2 並發、並行或異步
4.2.1 並發
4.2.2 多線程
4.2.3 並行
4.2.4 異步編程
4.2.5 這將通往何方
4.3 並發成本
4.3.1 線程成本
4.3.2 管理狀態共享
4.3.3 難以調試
4.4 實現並發
4.4.1 線程和鎖
4.4.2 使用GCD和調度佇列
4.4.3 Operation隊列
4.4.4 Swift並發
4.4.5 深入探討:實現並發的挑戰
4.5 現實應用程式中的考量
4.5.1 案例1:擴展Meta的NewsFeed
4.5.2 案例2:建構Swift並發
4.6 總結
4.6.1 本章要點
4.6.2 擴展閱讀
第二部分 應用程式架構和設計模式
第5章 優質架構的重要性
5.1 概述
5.2 定義優質架構
5.3 模組化
5.3.1 模組化案例研究
5.3.2 模組化總結
5.4 可測試性
5.4.1 測試案例研究
5.4.2 可測試性總結
5.5 選擇一個架構
5.6 總結
5.6.1 本章要點
5.6.2 擴展閱讀
第6章 常見的設計模式
6.1 概述
6.2 為什麼設計模式是程式設計的基石
6.3 設計模式
6.3.1 總體主題
6.3.2 代理模式
6.3.3 外觀模式(結構型)
6.3.4 建造者模式
6.3.5 工廠模式
6.3.6 單例模式
6.3.7 依賴註入
6.3.8 協調器模式
6.3.9 觀察者模式
6.4 總結
6.4.1 本章要點
6.4.2 延伸閱讀
第7章 MVC架構
7.1 概述
7.2 深入探討MVC
7.2.1 MVC組件
7.2.2 組件間的交互
7.2.3 MVC範例
7.2.4 討論
7.3 總結
7.3.1 本章要點
7.3.2 擴展閱讀
第8章 MVVM
8.1 概述
8.2 深入探討MVVM
8.2.1 MVVM組件
8.2.2 組件間的交互
8.2.3 MVVM範例
8.2.4 討論
8.3 總結
8.3.1 本章要點
8.3.2 延伸閱讀
第9章 VIPER
9.1 概述
9.2 深入探討VIPER
9.2.1 VIPER組件
9.2.2 組件間的交互
9.2.3 VIPER範例
9.2.4 討論
9.3 總結
9.3.1 本章要點
9.3.2 延伸閱讀
第10章 響應式程式設計範式
10.1 概述
10.2 響應式編程
10.2.1 遊戲規則
10.2.2 數據傳播技術
10.2.3 與可變狀態的交互
10.3 函數響應式編程
10.3.1 範疇論
10.3.2 函子
10.3.3 廬半群
10.3.4 單子
10.4 FRP與Combine
10.4.1 發布者與訂閱者
10.4.2 Combine的行為
10.4.3 應用程式架構
10.5 響應式程式設計與函數響應式程式設計的益處
10.6 總結
10.6.1 本章要點
10.6.2 延伸閱讀
第三部分 大型應用程式設計
第11章 系統設計流程
11.1 概述
11.2 軟件開發生命週期
11.2.1 SDLC如何運作
11.2.2 SDLC模型
11.3 技術負責人的關鍵作用
11.4 專註技能的視角
11.4.1 定位問題
11.4.2 解決方案設計
11.4.3 溝通
11.5 為成功設定目標
11.5.1 S:具體的
11.5.2 M:可衡量的
11.5.3 A:可實現的