,引用必須註明出處!
架構這個話題比較大;從組織結構來說,ceo是一家公司的架構師,將公司劃分為銷售部、市場部、技術部、行政部、財務部、客服部等,每個部門履行特有的職能並相互配合,最終實現「產品」的有效輸出;技術架構也同樣如此。
專案架構主要目的是解耦、靈活開發,讓後端成為產品的瓶頸,而不要讓客戶端成為產品的瓶頸,所有的業務均
可實現「熱載入」;大的專案需要進行外掛程式式開發,必須減少依賴關係,這樣編譯和執行才會快,使用者體驗才會好。
問題:
客戶端與服務端商定get請求的時效,可以有效解決部分併發問題。
2、應用如何保活?
android初級第八講之應用如何保活
3、如何優化電量和記憶體?
android高階之十二講之記憶體、電量、卡頓、流量
4、安全問題:定製執行特定操作、目錄白名單、灰度發布等方式來安全載入應用。
5、快取問題:lrucache-least recently used cache,清除最近最少使用的快取。
原理:設計快取大小,使用linkedlist訪問資料;get時使用數+1,put時使用數+1,同時監測記憶體是否超界;
如果超界,則開啟死迴圈,清除最少使用的快取(通過linkedhashmap的eldest找到),然後bread;繼續。
android高階之十三講之安全方案
灰度發布:
主要是a/b測試,分功能模組、地區、使用者比例來測試,同時可以及時停止測試,防止意外發生,同時又
避免影響線上使用者體驗。
其次對比實驗,用資料來確定採用哪套方案。
架構的主要工作有哪些?
0、構造設計模式,mvc、mvp或mvvm,資料訪問、網路工具、載入過程等實現。
1、設計基礎功能模組
就像生活必備水電煤、公尺油鹽一樣,有這些日子才能過起來,專案也一樣。設計模式、元件通訊、載入過程、網路框架、框架、執行緒池管理、ui框架、必要元件、必要功能、基礎元件等均在初期需要制訂。
2、設計基本功能模組
細化專案框架和元件,以及樣式,設計專案的核心功能,分配功能模組,靈活設計可插拔模組
3、減少業務耦合度
aop思想,面向切面程式設計,即專注處理自身模組,通過scheme來告訴外界自己的功能,通過filter來過濾可以處理細化的資訊。
android中可以使用rxbus和自定義路由來實現。
otto據說比eventbus、handler、broadcastreceive和inte***ce更簡單,回頭要研究一下。
將訂閱者及內部的方法以鍵值對的形式存入rxbusfactory,事件源傳送事件根據訊息型別交由不同的訂閱者處理。
4、保持呼叫靈活性
介面和類要全面適配,如引數型別、引數數量、api版本、so庫支援等
5、良好的編譯工具和打包工具
編譯工具:android最佳編譯工具介紹
打包工具:
ant、gradle、python三種打包方式的介紹
gradle加速編譯:
lint用於找出應用中的異常以及不規範的操作
6、專案管理工具,建議用git,跟svn的最大區別在於:分布式管理,每個人的電腦都是伺服器。
git教程及問題解析
架構師的修養:
阿里中介軟體需要怎樣的架構師? 知乎
服務搭建:
findviewbyid的快速工具:
谷歌開源檢查應用錯誤工具:
error-prone
markdownpad:
先安這個:
再安這個:
mvvm:
**使用www.example.com和example.com的區別:
後者攜帶該**所有cookie資訊,不夠安全;一般通過301設定,將後者跳到前者。一方面有利於統計訪問(對seo無影響),另一方面不會給使用者造成困擾(後者未作配置,無法訪問)。
fiddler使用:保證手機網路和電腦網路處於同乙個路由下面,同乙個ip段。
第十二周專案 1
分別定義teacher 教師 類和cadre 幹部 類,採用多重繼承方式由這兩個類派生出新類teacher cadre 教師兼幹部 要求 1 在兩個基類中都包含姓名 年齡 性別 位址 等資料成員。2 在teacher類中還包含資料成員title 職稱 在cadre類中還包含資料成員post 職務 在...
第十二周專案1
輸入描述 無 輸出描述 圖的基本運算 標頭檔案 ifndef graph h included define graph h included define maxv 100 最大頂點個數 define inf 32767 inf表示 typedef int infotype 以下定義鄰接矩陣型別 ...
第十二周專案2
j 輸入描述 無 輸出描述 描述的輸出內容 include include include graph.h 返回圖g中編號為v的頂點的出度 int outdegree algraph g,int v return n 輸出圖g中每個頂點的出度 void outds algraph g 輸出圖g中出度...