[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

移動開發架構設計實戰
該商品所屬分類:圖書 -> 科技
【市場價】
596-864
【優惠價】
373-540
【作者】 李雲鵬 
【折扣說明】一次購物滿999元台幣免運費+贈品
一次購物滿2000元台幣95折+免運費+贈品
一次購物滿3000元台幣92折+免運費+贈品
一次購物滿4000元台幣88折+免運費+贈品
【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
版本正版全新電子版PDF檔
您已选择: 正版全新
溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
*. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
*. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
內容介紹



出版社:電子工業出版社
ISBN:9787121375071
商品編碼:61217104527

品牌:文軒
出版時間:2019-11-01
代碼:89

作者:李雲鵬

    
    
"
作  者:李雲鵬 著
/
定  價:89
/
出 版 社:電子工業出版社
/
出版日期:2019年11月01日
/
頁  數:285
/
裝  幀:平裝
/
ISBN:9787121375071
/
目錄
●第1章 什麼是架構1
1.1 架構設計理念1
1.1.1 軟件架構的起源1
1.1.2 架構設計三要素2
1.1.3 什麼是優秀的軟件架構設計2
1.1.4 軟件架構設計的關注點3
1.2 軟件架構設計的本質和目的3
1.2.1 做出決策3
1.2.2 降低軟件熵4
1.3 架構設計思維4
1.3.1 簡化思維4
1.3.2 分層思維5
1.3.3 分治思維6
1.3.4 迭代思維6
1.4 架構設計模式原則7
1.4.1 單一職責原則7
1.4.2 開放封閉原則8
1.4.3 裡氏替換原則9
1.4.4 依賴倒置原則9
1.4.5 接口分離原則10
1.5 架構設計步驟11
1.5.1 認識繫統11
1.5.2 設計繫統12
1.5.3 創建繫統14
1.5.4 收集反饋14
1.6 小結15
第2章 MVC架構:表現層分離16
2.1 什麼是MVC16
2.1.1 MVC的誕生16
2.1.2 MVC的分層與職責17
2.1.3 MVC在移動開發中的爭議18
2.2 MVC的模式19
2.2.1 被動模式19
2.2.2 主動模式19
2.2.3 觀察者模式20
2.2.4 被動模式與主動模式的區別21
2.3 MVC的核心思想21
2.4 小結22
第3章 實戰:基於MVC架構設計的日記App23
3.1 層級職責劃分23
3.2 準備階段24
3.2.1 準備、創建View24
3.2.2 清單文件Manifest配置26
3.2.3 初始化Fragment27
3.3 創建View28
3.4 數據處理31
3.4.1 創建Model31
3.4.2 創建本地數據源32
3.4.3 數據持久化工具33
3.4.4 實現本地數據源34
3.4.5 填充測試數據36
3.4.6 使用數據倉庫管理數據37
3.5 創建Controller40
3.5.1 Controller初始化40
3.5.2 創建Adapter41
3.5.3 創建ViewHolder43
3.5.4 Controller的協調工作44
3.6 運行App48
3.7 實現主動模式的MVC49
3.7.1 改造Model49
3.7.2 注冊觀察者50
3.8 小結50
第4章 MVP架構:開始解耦52
4.1 什麼是MVP52
4.1.1 MVP架構的起源52
4.1.2 MVP的分層與職責52
4.2 MVP的核心思想53
4.2.1 面向接口編程53
4.2.2 德墨忒爾定律54
4.3 MVP與MVC的區別55
4.4 MVP模式存在的問題56
4.4.1 責任過重的Presenter56
4.4.2 業務邏輯無法復用56
4.4.3 急劇擴增的接口數量57
4.5 如何解決Presenter的復用問題57
4.5.1 提供工具類57
4.5.2 提供多對一的Presenter57
4.5.3 分離出Interactor層58
4.6 小結59
第5章 實戰:MVP架構設計60
5.1 層級職責劃分60
5.2 準備工作60
5.2.1 定義基礎View接口60
5.2.2 定義基礎Presenter接口61
5.3 重構:從MVC到MVP61
5.3.1 創建Presenter61
5.3.2 改造View62
5.3.3 傳入Presenter實例63
5.3.4 開發過程中Presenter和View的直接依賴63
5.3.5 Presenter生命周期的處理64
5.3.6 列表Adapter的處理64
5.3.7 展示數據的處理65
5.3.8 對話框展示的處理67
5.3.9 菜單的處理68
5.3.10 實現面向接口設計69
5.3.11 建立契約類69
5.4 實現MVP模式:日記修改功能70
5.4.1 創建日記修改Activity71
5.4.2 創建日記修改Fragment72
5.4.3 添加“完成”按鈕74
5.4.4 創建日記修改Presenter75
5.4.5 日記操作處理76
5.4.6 頁面跳轉處理77
5.4.7 刪除舊有的修改日記UI78
5.4.8 修改為面向接口設計79
5.5 小結79
第6章 MVVM架構:雙向綁定81
6.1 什麼是MVVM81
6.1.1 MVVM架構的起源81
6.1.2 MVVM的分層與職責82
6.2 MVVM的核心思想82
6.2.1 進一步解耦82
6.2.2 數據驅動83
6.2.3 雙向綁定83
6.3 架構模式對比84
6.3.1 MVC與MVVM84
6.3.2 MVP與MVVM85
6.4 MVVM存在的問題86
6.4.1 ViewModel難以復用86
6.4.2 學習成本高86
6.4.3 調試困難86
6.5 小結87
第7章 實戰:MVVM架構設計88
7.1 什麼是DataBinding88
7.2 重構:從MVP到MVVM88
7.2.1 配置DataBinding支持89
7.2.2 修改Presenter為ViewModel89
7.2.3 消除契約類90
7.2.4 轉換布局文件92
7.2.5 在布局中加入變量和表達式93
7.2.6 ViewModel繼承BaseObservable94
7.2.7 在XML布局文件中定義列表數據屬性95
7.2.8 使用BindingAdapter處理自定義屬性97
7.2.9 繪制View布局98
7.2.10 為View屬性賦值99
7.2.11 找到XML中的View100
7.2.12 ObservableField原理100
7.2.13 使用ObservableField101
7.2.14 使用ObservableList103
7.3 小結104
第8章 依賴注入:Dagger2鋒利的“匕首”105
8.1 什麼是Dagger105
8.1.1 依賴注入105
8.1.2 編譯時注解解析107
8.2 實現:將Dagger2加入MVP108
8.2.1 配置Dagger2108
8.2.2 確定數據倉庫改造目標108
8.2.3 改造數據倉庫109
8.2.4 Inject注解110
8.2.5 Component注解111
8.2.6 Module注解114
8.2.7 Provides注解115
8.2.8 Scope注解117
8.2.9 Singleton注解117
8.2.10 Scope注解和Singleton注解的實現原理118
8.2.11 日記列表模塊依賴關繫分析120
8.2.12 創建日記列表模塊Component120
8.2.13 創建日記列表Presenter Module121
8.2.14 Component的dependencies屬性123
8.3 存在的問題125
8.3.1 學習成本極高125
8.3.2 短期內開發效率低125
8.3.3 靈活性不良好126
8.4 小結126
第9章 函數響應式框架:優雅的RxJava2127
9.1 什麼是RxJava127
9.2 RxJava2的核心思想128
9.2.1 函數響應式編程128
9.2.2 背壓129
9.2.3 鏈式調用129
9.3 實戰:將RxJava2加入MVP130
9.3.1 配置RxJava2130
9.3.2 Flowable131
9.3.3 響應式拉取132
9.3.4 修改數據源接口133
9.3.5 修改本地數據源133
9.3.6 Just操作符134
9.3.7 Empty操作符135
9.3.8 FromIterable操作符135
9.3.9 To操作符136
9.3.10 Subscriber和事件流137
9.3.11 修改數據倉庫137
9.3.12 FlatMap操作符139
9.3.13 Map操作符140
9.3.14 修改Presenter141
9.3.15 CompositeDisposable和Disposable142
9.3.16 Presenter生命周期143
9.4 存在的問題144
9.5 小結144
第10章 AAC:搭建生命周期感知架構145
10.1 什麼是AAC145
10.2 AAC的核心思想146
10.2.1 關注點分離146
10.2.2 模型驅動界面147
10.3 ViewModel+LiveData148
10.3.1 DataBinding148
10.3.2 Gradle依賴配置149
10.3.3 AAC中的ViewModel149
10.3.4 使用ViewModel150
10.3.5 使用ViewModelProviders創建ViewModel151
10.3.6 什麼是LiveData152
10.3.7 tableLiveData153
10.3.8 創建LiveData154
10.3.9 LiveData更新155
10.3.10 LiveData接收變化156
10.4 LifeCycle156
10.4.1 生命周期157
10.4.2 LifecycleObserver158
10.4.3 LifecycleOwner159
10.5 Room160
10.5.1 Room的組成160
10.5.2 實體161
10.5.3 數據訪問對像DAO163
10.5.4 Room依賴配置164
10.5.5 定義實體164
10.5.6 創建Dao165
10.5.7 創建數據庫管理器166
10.5.8 線程處理168
10.5.9 修改本地數據源169
10.5.10 數據庫升級172
10.6 小結173
第11章 組件化架構:極速運行174
11.1 什麼是組件化174
11.2 組件化的核心思想175
11.2.1 軟件復用175
11.2.2 信息隱藏176
11.2.3 快速運行177
11.3 組件分離178
11.3.1 組件層級劃分178
11.3.2 組件劃分179
11.3.3 創建Module180
11.3.4 組件依賴關繫183
11.3.5 復用Gradle配置187
11.3.6 公共資源組件189
11.3.7 基礎組件191
11.3.8 移動依賴194
11.3.9 Gradle版本號管理194
11.3.10 處理Context197
11.3.11 公共組件198
11.3.12 日記列表展示組件200
11.3.13 日記添加修改組件202
11.3.14 Gradle Plugin衝突204
11.3.15 運行主Module204
11.4 使用路由206
11.4.1 路由配置206
11.4.2 使用Route跳轉207
11.4.3 攜帶參數跳轉208
11.5 組件運行210
11.5.1 切換開關210
11.5.2 組件配置212
11.5.3 Manifest文件配置212
11.5.4 集成運行215
11.6 組件合並216
11.6.1 組件命名衝突216
11.6.2 Manifest文件合並策略217
11.6.3 資源文件衝突218
11.6.4 資源文件合並策略219
11.7 小結220
第12章 The Clean Architecture:整潔的架構221
12.1 什麼是The Clean Architecture221
12.2 The Clean Architecture的核心思想222
12.2.1 單向依賴規則222
12.2.2 業務規則分離223
12.2.3 簡單數據結構跨界224
12.3 MVP-Clean架構224
12.3.1 用例的請求數據和響應數據224
12.3.2 用例的數據處理226
12.3.3 用例的線程切換228
12.3.4 創建用例229
12.3.5 執行用例230
12.3.6 封裝請求數據231
12.3.7 創建日記更新用例234
12.3.8 重構日記修改Presenter235
12.4 VIPER架構238
12.4.1 什麼是VIPER架構238
12.4.2 VIPER架構的層級劃分239
12.4.3 創建Interactor240
12.4.4 在協議中加入Interactor241
12.4.5 使用Interactor242
12.4.6 創建Router242
12.4.7 在協議中加入Router244
12.4.8 使用Router244
12.5 Riblets架構245
12.5.1 什麼是Riblets架構245
12.5.2 Riblets架構的組件246
12.6 小結247
第13 Fragmentless:Fragment反對者248
13.1 什麼是Fragmentless248
13.2 Fragmentless實戰249
13.2.1 創建View249
13.2.2 View附加狀態判斷252
13.2.3 修改布局文件253
13.2.4 修改Activity254
13.3 小結255
第14章 Conductor:短兵利刃257
14.1 什麼是Conductor257
14.2 Conductor實戰258
14.2.1 配置Conductor259
14.2.2 Controller基類處理259
14.2.3 重構Fragment260
14.2.4 Controller的上下文261
14.2.5 Controller活躍態262
14.2.6 使用路由262
14.2.7 日記修改頁面處理263
14.2.8 Controller構造方法265
14.2.9 頁面銷毀266
14.2.10 頁面跳轉266
14.3 小結267
第15章 插件化:模塊插撥268
15.1 什麼是插件化268
15.2 插件化實戰269
15.2.1 配置插件化框架269
15.2.2 配置主模塊270
15.2.3 驗證環境配置270
15.2.4 框架初始化271
15.2.5 指定插件類型272
15.2.6 配置路由信息272
15.2.7 創建加載頁面275
15.2.8 路由攜帶參數跳轉276
15.2.9 配置插件的Launcher276
15.2.10 編譯277
15.3 小結278
第16章 總結279
16.1 架構演進279
16.1.1 MVX繫列架構279
16.1.2 The Clean Architecture繫列架構280
16.1.3 模塊化繫列架構281
16.2 選擇合適的架構282
16.2.1 認清你的團隊規模282
16.2.2 目前存在的問題283
16.2.3 大型技術團隊架構選型283
16.2.4 中小型技術團隊架構選型284
16.2.5 獨立開發者架構選型285
16.3 復盤285
內容簡介
本書覆蓋了移動開發中涉及的多種架構模式,基於Android平臺對架構模式進行實戰,可以幫助入門開發者了解架構模式,進階開發者掌握架構模式,技術領導者進行架構選型。本書內容包括:流行架構模型MVX繫列——MVC架構、MVP架構、MVVM架構,依賴注入框架Dagger2,函數響應式框架RxJava2,Google推薦的生命周期感知架構組件AAC,整潔的架構“The Clean Architecture”和組件化架構的運用方法與實戰。本書語言精練,內容清晰,代碼易於理解,適合計算機相關行業的從業者閱讀與學習。
作者簡介
李雲鵬 著
李雲鵬,網易新聞架構技術組工程師,沐暄網創始人,Oracle、Adobe等企業認證專家;10年互聯網經驗,曾就職於世界500強企業核心技術實驗室;於2009年創立沐暄網,2010年入圍鳳凰網“具影響力的中文論壇100強”站長。擅長移動端架構設計、項目重構與Intellij插件開發等工作。參與網易新聞組件化架構設計,視頻模塊、統計模塊等多模塊重構工作,利用VIPER對客戶端基礎架構進行改良。喜歡創新和研究,作為第一發明人,申請了十餘項專利和著作權。



"
 
網友評論  我們期待著您對此商品發表評論
 
相關商品
【同作者商品】
李雲鵬
  本網站暫時沒有該作者的其它商品。
有該作者的商品通知您嗎?
請選擇作者:
李雲鵬
您的Email地址
在線留言 商品價格為新臺幣
關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
返回頂部