架構雜談(Android、Web)

若是本文幫助到你,本人不勝榮幸,若是浪費了你的時間,本人深感抱歉。 但願用最簡單的大白話來幫助那些像我同樣的人。若是有什麼錯誤,請必定指出,以避免誤導你們、也誤導我。 本文來自:www.jianshu.com/users/320f9… 感謝您的關注。html

五一去了北戴河,五一的北戴河真是 輪滑的天堂。前端

由於最近公司讓學PHP,好久沒有更新文章了。內心真是有點過意不去呀。 學了兩個星期左右的PHP,三天熟悉語法,而後跟着項目邊作邊學,直接上框架,用的Laveral。兩週時間,作完了練手項目:設備管理系統。而後接下來進行正式項目升級,負責Android,參與Web。android

咱們公司每週每一個組進行一次講座分享,上週是咱們組,我是主講,分享的是框架方面的。由於是很早很早之前就想寫寫這個,趁這個機會恰好分享一下。git

可是!!!!! 接觸了後臺以後,發現後臺的框架設計跟前端的區別真大挺大的。 側重點好像就不太同樣。 因此最後的Web端框架,只是分享一個連接,我以爲寫的很不錯。github

每一個模塊底下都附了連接來源,感興趣的能夠直接去看看。 這是我作的PPT,轉爲圖片貼上,作簡單說明。架構

目錄


架構是什麼

如同右邊第一張圖,將零碎的積木進行有序的重組,使其不斷的完善,也就是架構存在的意義。框架

下面兩個是好的架構師應該具有的條件。 右邊那張圖,「抽象思惟」和「透過問題看本質」 應該是架構師最頂層的能力,即便你擁有其他的全部能力,可是缺乏這兩個最頂層的能力,寫出來的東西,仍然可能會產生,咱們接下來要看的東西。(接下往下看吧。)模塊化

參考連接:在首席架構師眼裏,架構的本質是……組件化


爲何我看不懂你的代碼

總結一句話:在你寫代碼的時候,你的腦子裏會有一個完整的邏輯模型。你要儘量的將你腦中的邏輯模型平滑的轉化爲你寫的代碼,讓你過了一段時間以後、或者另一我的 看到你的代碼(或者根據註釋),可以儘量的重現出你當時寫代碼時腦海中的邏輯模型。網站

參考連接:爲何我看不懂你的代碼


App架構只組件化理解

這個主要講的是MVP裏面的M,由於V和P劃分的比較開。 在實際寫代碼的過程當中M每每的至關複雜的。 這一塊實際上是有不少方面能夠研究的,最近比較流行的一篇文章: 完美的安卓 model 層架構

參考連接:App架構之組件化理解


大谷歌的一張圖,在Google出的幾個 Android MVP 的案例中,這個是其中一個。結構很是清晰。

GitHub地址: todo-mvp-clean/

這裏借用了EventBus的圖, 感受張圖的 MVP 邏輯也挺清晰的,包括M層的封裝。 這裏提到了如何正確使用開源項目,也是屬於model層的內容。

參考連接:如何正確使用開源項目?


Web端架構瞭解

原本還想斗膽討論Web端的架構,想一想真是太天真了。 Web架構水太深,能夠點進連接瞭解一下。

看完以後應該是能夠總結出一些東西的:任何架構都不是一開始就很完善的,都是隨着公司的發展,業務邏輯的發展,隨着客戶的需求,當前項目沒法知足需求,纔開始擴展。你不可能從第一步就把第十步的狀況都考慮到,那你的項目寫完都不知道要寫何時去了。 因此在寫項目的時候,用最簡單的辦法去處理當前項目的需求,把當前的每個小功能儘量的寫的靈活利於擴展就能夠了。切勿創建太過複雜的邏輯模型,由於你真的不肯定,之後的項目會朝着什麼方向發展。你肯定你留着所謂的強大的邏輯模型,真的可以用得上嗎? 固然這個是Web,相比Web來講,移動端的結構還真是比較簡單一點。

參考連接:大型網站系統架構的演化


看到了一篇講MVP的文章,感受很是不錯。對MVP缺點、優勢的分析,跟個人想法是一致的。 在這裏跟你們分享:使用MVP模式重構代碼 www.jianshu.com/p/7c4e310da…



把PPT也分享一下吧,順帶把模板也分享了,我是從模板上改的。 http://pan.baidu.com/s/1bp9dIzX
一樣歡迎各位,批評指正。

看到不錯的關於 Android 架構的文章之後都收集一下放到這。 Android架構思考(模塊化、多進程)

相關文章
相關標籤/搜索