架構雜談(Android、Web)

Wing_Li發表於2018-12-03

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

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

因為最近公司讓學PHP,很久沒有更新文章了。心裡真是有點過意不去呀。 學了兩個星期左右的PHP,三天熟悉語法,然後跟著專案邊做邊學,直接上框架,用的Laveral。兩週時間,做完了練手專案:裝置管理系統。然後接下來進行正式專案升級,負責Android,參與Web。

我們公司每週每個組進行一次講座分享,上週是我們組,我是主講,分享的是框架方面的。因為是很早很早以前就想寫寫這個,趁這個機會剛好分享一下。

但是!!!!! 接觸了後臺之後,發現後臺的框架設計跟前端的區別真大挺大的。 側重點好像就不太一樣。 所以最後的Web端框架,只是分享一個連結,我覺得寫的很不錯。

每個模組底下都附了連結來源,感興趣的可以直接去看看。 這是我做的PPT,轉為圖片貼上,做簡單說明。

目錄

架構雜談(Android、Web)


架構是什麼

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

下面兩個是好的架構師應該具備的條件。 右邊那張圖,“抽象思維”和“透過問題看本質” 應該是架構師最頂層的能力,即使你擁有其餘的所有能力,但是缺少這兩個最頂層的能力,寫出來的東西,仍然可能會產生,我們接下來要看的東西。(接下往下看吧。)

架構雜談(Android、Web)

參考連結:在首席架構師眼裡,架構的本質是……


為什麼我看不懂你的程式碼

總結一句話:在你寫程式碼的時候,你的腦子裡會有一個完整的邏輯模型。你要儘可能的將你腦中的邏輯模型平滑的轉化為你寫的程式碼,讓你過了一段時間之後、或者另外一個人 看到你的程式碼(或者根據註釋),能夠儘可能的重現出你當時寫程式碼時腦海中的邏輯模型。

架構雜談(Android、Web)

架構雜談(Android、Web)

參考連結:為什麼我看不懂你的程式碼


App架構只元件化理解

這個主要講的是MVP裡面的M,因為V和P劃分的比較開。 在實際寫程式碼的過程中M往往的相當複雜的。 這一塊其實是有很多方面可以研究的,最近比較流行的一篇文章: 完美的安卓 model 層架構

架構雜談(Android、Web)

參考連結:App架構之元件化理解


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

架構雜談(Android、Web)
GitHub地址:todo-mvp-clean/

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

架構雜談(Android、Web)

參考連結:如何正確使用開源專案?


Web端架構瞭解

本來還想斗膽討論Web端的架構,想想真是太天真了。 Web架構水太深,可以點進連結瞭解一下。

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

架構雜談(Android、Web)

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


看到了一篇講MVP的文章,感覺非常不錯。對MVP缺點、優點的分析,跟我的想法是一致的。 在這裡跟大家分享:使用MVP模式重構程式碼 www.jianshu.com/p/7c4e310da…



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

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

相關文章