1 前言
作者去年11的時候面試了一回杭州阿里總部的Android無線開發職位,最後給我定級了P6(職位要求P6+/P7)。作爲一個從小熱愛技術,熱愛編程的我來說,讓我明白了需要學習和了解更加深層次的方面,才能夠達到更高的水平。在這裏也要感謝阿里的面試官,對我更高的期望和建議。
今天先總結一些關於Android架構方面的知識。
2 雜談
Android框架式編程之架構方案(這篇文章個人覺得總結的很不錯,把目前Android App開發會使用的架構都有提及到)
3 編碼架構
編碼架構,也有人稱爲代碼架構、架構模式、框架模式等等,主要分爲三類:MVC、MVP 和 MVVM。
3.1 MVC
Android 設計模式之MVC,從一個實例中來理解MVC
Android開發-通過通俗易懂的Demo讓你理解Android中MVC架構和MVP架構
3.2 MVP
一個小例子徹底搞懂 MVP
淺談構架模式 - 考拉移動團隊的技術博客(涉及MVP和MVVM)
一文帶你全面瞭解MVC、MVP、MVVM模式(含實例講解)(主要介紹了MVP)
3.3 MVVM
MVVM dataBinding 學習心得
Android項目開發-MVVM(7篇文章組成的一個專題)
4 工程架構
工程架構,也有人稱爲項目架構,主要分爲四類:單工程模式、模塊化、組件化、插件化。其中“單工程模式”就是整個項目工程只有一個module,主要靠分包來進行功能劃分,是最基礎的一種工程架構,我就不羅列資料了。
對於“模塊化”和“組件化”的區別,估計很多人都比較迷吧!根據這邊文章“對組件化與模塊化的思考與總結”的觀點,大概可以這麼講:
模塊化強調的是拆分,無論是從業務角度還是從架構、技術角度,模塊化首先意味着將代碼、數據等內容按照其職責不同分離,使其變得更加容易維護、迭代,使開發人員可以分而治之。
組件化則着重於可重用性,不管是界面上反覆使用的用戶頭像按鈕,還是處理數據的流程中的某個部件,只要可以被反覆使用,並且進行了高度封裝,只能通過接口訪問,就可以稱其爲“組件”
我個人是比較贊同這種說法的,所以我就不把模塊化和組件化單獨來講了。
4.1 模塊化和組件化
一種Android客戶端架構設計分享