舒適提示: 本文以《讓人耳目一新的 Jetpack MVVM 精講》做爲前置知識的鋪墊,假定小夥伴們在閱讀本文前 已對精講篇的內容有了必定理解。git
人,不是機器,人註定會犯錯。github
尤爲是在 多人協做的軟件工程背景下 快速版本迭代的時候。markdown
有限的注意力應始終放在刀刃上,於是那些機械重複的模板代碼,應在後臺本身默默安排好一切、免除因各類手工操做的失誤 而形成的不可預期的後果。架構
腳手架項目應運而生。oop
腳手架項目不單單是我一我的的創做,也是集許許多多優秀開發者參與演化的結果。post
該項目主要包含 表現層、領域層、數據層 三層:spa
腳手架項目有 3 寶。考慮到 「按需」 選用的原則,現已抽取爲 「依賴庫」 獨立維護。架構設計
經過 Request 來複用轉發邏輯
經過 UseCase 管理可叫停的業務
經過 DataResult 回調數據層結果
考慮到本文的目標主要是分享項目,如對具體的設計原因感興趣,可參見源碼中註釋的解析,此處不作累述。
任何技術的存在,都是旨在特定背景下解決特定問題,架構模式也不例外。
透過過去一年的開源和對高頻場景的總結,咱們已爲 「頁面開發」 場景下存在的高頻隱患提供了 「相應解」。
隨着背景因素的不斷變化,技術亦處於不斷的發展中,於是《GitHub:Jetpack MVVM 腳手架》仍朝着趨於成熟的方向不斷完善。
從此如在我的項目中 用到了該腳手架項目的依賴庫,可隨時在 issue 區提供項目信息,如此可讓更多的開發者 有機會認識你的開源做品。
剛剛在 GitHub 看到有小夥伴基於《腳手架》項目的架構設計重構了多個項目,感興趣的小夥伴可前往查閱 😉
GitHub - Jetpack開發短視頻應用實戰 - 重構
本文以 CC 署名-非商業性使用-禁止演繹 4.0 國際協議 發行。
Copyright © 2019-present KunMinX
本項目是做爲《重學安卓》專欄 Jetpack MVVM 系列文章的配套項目而存在,文章內容和項目中的代碼設計均涉及本人對 Jetpack MVVM 的獨家理解,本人對此享有全部權和最終解釋權。
當您借鑑或引用本文的引言、思路、結論進行二次創做,或全文轉載時,須註明連接出處,不然咱們保留追責的權利。