移動開發架構設計實戰

李雲鵬

  • 出版商: 電子工業
  • 出版日期: 2019-11-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • ISBN: 7121375079
  • ISBN-13: 9787121375071
  • 相關分類: 行動軟體開發
  • 立即出貨

買這商品的人也買了...

商品描述

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

作者簡介

李雲鵬,網易新聞架構技術組工程師,沐暄網創始人,Oracle、Adobe等企業認證專家;10年互聯網經驗,曾就職於世界500強企業核心技術實驗室;於2009年創立沐暄網,2010年入圍鳳凰網“全球具有影響力的中文論壇100強”站長。

擅長移動端架構設計、項目重構與Intellij插件開發等工作。參與網易新聞組件化架構設計,視頻模塊、統計模塊等多模塊重構工作,利用VIPER對客戶端基礎架構進行改良。喜歡創新和研究,作為第一發明人,申請了十餘項專利和著作權。

目錄大綱

第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章總結

本章是對全書涉及的架構模式的總結,將會針對每種架構模式總結其特點,並給予你架構選型的建議。