不少Android的小夥伴在作了多年的開發以後,始終搞不清楚達到Android架構師須要何種技能,咱們對比着Android高級工程師來講明。java
咱們先來看一下Android高級工程師的招聘要求算法
職位描述:編程
Responsibility小程序
Android平臺功能模塊的設計與開發微信小程序
移動端開發框架的研究與設計設計模式
移動端技術規範的制定與推廣性能優化
移動端技術培訓微信
Requirements數據結構
重點高校本科及以上學歷,計算機及相關專業畢業架構
精通java語言,熟悉面向對象設計原則。
有至少1年的Android開發經驗,有app上線的優先考慮
具備較強的編程和解決問題的能力,具備較好的數據結構及算法基礎功底
對移動互聯網產品有濃厚的興趣
其實簡單點,
就是可以獨立開發APP =有APP上線
APP有設計感 = 懂設計模式設計原則
項目經驗豐富 = 較強的編程和解決問題的能力
內存和性能優化 = 具備較好的數據結構及算法基礎功底
GitHub 開源項目 = 對移動互聯網產品有濃厚的興趣
在我看來
1.Android高級工程師 + 全局眼光 = 架構師
因此架構師必備的一項技能就是要放眼全局,作的設計要可以思慮長遠,如何作到?
多看Androd源碼,從系統運行的角度思考你寫的東西,在Android世界是怎麼存在的。
2.認知上要達到WHAT HOW WHY三階段的WHY的程度
打比方說,咱們使用了第三方的庫,最開始WHAT階段是知道它怎麼用,能夠解決什麼問題
而後HOW階段,咱們理解了這個庫是怎麼運行的,內部的架構是怎麼樣的,高級工程師多停留在這個階段。
最後的WHY階段,爲何這麼設計?有沒有更好的設計?
當你到了WHY階段了,你就積累了大量的設計源泉。
3.行動上要多用架構解決實際問題
在Android高級工程師積累的基礎上,解決問題的時候多以架構設計來解決,就須要
精通設計模式,不拘泥於設計模式,設計模式是在遵循Java設計原則的前提下,在大量的應用實踐中總結出來的,猶如武功招式,
這個階段要無招勝有招,多重招式疊加制敵。
還包含用架構思路來解耦,組件化,動態加載
這裏爲你們獻上一個Android架構師的學習路線
首先是Java語言進階和Android相關技術內核;