移動開發架構設計實戰

移動開發架構設計實戰

作者: 李雲鵬
出版社: 電子工業
出版在: 2019-11-01
ISBN-13: 9787121375071
ISBN-10: 7121375079





內容描述


本書覆蓋了移動開發中涉及的多種架構模式,基於Android平臺對架構模式進行實戰,可以幫助入門開發者瞭解架構模式,進階開發者掌握架構模式,技術領導者進行架構選型。本書內容包括:流行架構模型MVX系列——MVC架構、MVP架構、MVVM架構,依賴註入框架Dagger2,函數響應式框架RxJava2,Google推薦的生命周期感知架構組件AAC,整潔的架構“The Clean Architecture”和組件化架構的運用方法與實戰。本書語言精練,內容清晰,代碼易於理解,適合電腦相關行業的從業者閱讀與學習。


目錄大綱


第1章什麼是架構
本章將從架構的起源講起,走入生活中的架構,探究架構的本質,掌握架構的原則,逐步深入,進而達到了解傳統的架構設計思想和設計流程的目的。如果你更注重實踐性的內容,可以從第2章開始閱讀;如果你更注重從一根“線”的“線頭”開始釐清思路,那麼,就要從本章開始閱讀,閱讀本章能夠使你更好地了解什麼是架構。
第2章MVC架構:表現層分離
“麵條代碼”是一種沒有結構、緊耦合、“一氣呵成”的代碼形態。接觸“麵條代碼”你會發現,所有界面展示控制和業務邏輯都纏繞在一起,改動任意一處,都將使你苦不堪言。在無數次凌亂的修改整理後,你會感受到一種“剪不斷,理還亂”的痛苦。在探究架構的最佳實戰之路上,我們還要從MVC(Model-View-Controller)開始說起,本章將要分析的是經典的MVC架構模式。
第3章實戰:基於MVC架構設計的日記App
本章將通過一個基於Android的日記App,來討論MVC架構的兩種模式——被動模式和主動模式是如何實現的。
第4章MVP架構:開始解耦
前面的章節針對MVC架構模式進行了討論與實踐,這種模式雖然踐行了表現層分離,但難免會出現Massive View Controller(過重的視圖控制器)。本章將討論一種更流行的架構模式——MVP架構。
第5章實戰:MVP架構設計
前面我們討論了日記App的MVC架構被動模式和主動模式的實現。本章將對日記App的MVC架構模式進行改造,使其成為MVP架構模式,並基於MVP架構模式添加新的功能。
第6章MVVM架構:雙向綁定
前面的章節介紹了移動開發中的兩個經典架構模式——MVC架構和MVP架構。本章將介紹移動開發三大經典架構中的最後一種架構模式——MVVM架構。
第7章實戰:MVVM架構設計
本章將會改造基於MVP架構設計的“我的日記”App,利用Google提供的數據綁定框架DataBinding,使其成為MVVM架構模式。
第8章依賴注入:Dagger2鋒利的“匕首”
依賴注入在後端領域開發中是一項非常流行的設計模式,在Google接手了Dagger的開發工作後,依賴注入在移動端也日趨火熱。本章我們將在前面介紹的MVP架構的基礎上,通過講解Dagger2來使讀者了解依賴注入框架的使用方法,並將其應用在“我的日記”App中。
第9章函數響應式框架:優雅的RxJava2
在單任務CPU時代,任務只能串聯執行,上一個任務沒有執行完,下一個任務就只能等待,這樣的任務處理效率極低;後來,多任務盛行起來,多個任務可以並行處理,帶來了效率的提升;再後來,多任務的模式被運用到每個任務中,一個任務可以被拆分成多個線程執行,每個線程可以並行處理,多線程的時代到來了,它開啟了並發,也開啟了響應式編程。本章將利用RxJava2實現函數響應式框架的設計。
第10章AAC:搭建生命週期感知架構
本章將要介紹的是Android官方推薦的系列架構組件Android Architecture Components,其中包括生命週期感知組件、LiveData、ViewModel和Room數據庫的使用等。
第11章組件化架構:極速運行
本章主要介紹各大科技公司使用的主流架構設計模式——組件化架構,這種架構可以讓你的工程組件更加清晰,提升軟件復用性,加快開發速度,降低測試成本。
第12章The Clean Architecture:整潔的架構
本章將通過介紹三款符合The Clean Architecture思想的架構——MVP-Clean、VIPER和Riblets,使大家能夠對The Clean Architecture有更加全面的了解。
第13章Fragmentless:Fragment反對者
Fragmentless架構踐行了Fragment反對者的思想,即Fragment會給程序的開發和維護帶來很多不必要的問題。本章將通過View代替Fragment,來為大家演示Fragmentless架構的實現。
第14章Conductor:短兵利刃
Conductor是一個小巧精悍的框架,用來幫助移動應用實現基於View的開發,與上一章的Fragmentless架構基於同一核心思想。本章將在MVP架構設計的“我的日記”App的基礎上加入Conductor支持。
第15章插件化:模塊插拔
本章介紹的是插件化框架,它與模塊化技術、組件化技術有著異曲同工之妙。熟練運用插件化技術,往往能給一個移動應用帶來非同凡響的體驗感。本章將通過分析一款插件化流行框架,來講解插件化架構。
第16章總結
本章是對全書涉及的架構模式的總結,將會針對每種架構模式總結其特點,並給予你架構選型的建議。


作者介紹


李雲鵬,網易新聞架構技術組工程師,沐暄網創始人,Oracle、Adobe等企業認證專家;10年互聯網經驗,曾就職於世界500強企業核心技術實驗室;於2009年創立沐暄網,2010年入圍鳳凰網“全球具有影響力的中文論壇100強”站長。
擅長移動端架構設計、項目重構與Intellij插件開發等工作。參與網易新聞組件化架構設計,視頻模塊、統計模塊等多模塊重構工作,利用VIPER對客戶端基礎架構進行改良。喜歡創新和研究,作為第一發明人,申請了十餘項專利和著作權。




相關書籍

單一開發作業環境之美:Mac OS + Android Studio 超完美組合

作者 畢小朋

2019-11-01

高性能 Android 開發技術

作者 張飛

2019-11-01

Android / NXT 機器人大戰-智慧型手機控制機器人

作者 林毓祥 曾吉弘 CAVE 教育團隊

2019-11-01