如果本文幫助到你,本人不勝榮幸,如果浪費(fèi)了你的時(shí)間,本人深感抱歉。
希望用最簡單的大白話來幫助那些像我一樣的人。如果有什么錯(cuò)誤,請一定指出,以免誤導(dǎo)大家、也誤導(dǎo)我。
本文來自:http://www.itdecent.cn/users/320f9e8f7fc9/latest_articles
感謝您的關(guān)注。
五一去了北戴河,五一的北戴河真是 輪滑的天堂。
因?yàn)樽罱咀寣W(xué)PHP,很久沒有更新文章了。心里真是有點(diǎn)過意不去呀。
學(xué)了兩個(gè)星期左右的PHP,三天熟悉語法,然后跟著項(xiàng)目邊做邊學(xué),直接上框架,用的Laveral。兩周時(shí)間,做完了練手項(xiàng)目:設(shè)備管理系統(tǒng)。然后接下來進(jìn)行正式項(xiàng)目升級,負(fù)責(zé)Android,參與Web。
我們公司每周每個(gè)組進(jìn)行一次講座分享,上周是我們組,我是主講,分享的是框架方面的。因?yàn)槭呛茉绾茉缫郧熬拖雽憣戇@個(gè),趁這個(gè)機(jī)會(huì)剛好分享一下。
但是?。。。。?br>
接觸了后臺之后,發(fā)現(xiàn)后臺的框架設(shè)計(jì)跟前端的區(qū)別真大挺大的。
側(cè)重點(diǎn)好像就不太一樣。
所以最后的Web端框架,只是分享一個(gè)鏈接,我覺得寫的很不錯(cuò)。
每個(gè)模塊底下都附了鏈接來源,感興趣的可以直接去看看。
這是我做的PPT,轉(zhuǎn)為圖片貼上,做簡單說明。
目錄
架構(gòu)是什么
如同右邊第一張圖,將零碎的積木進(jìn)行有序的重組,使其不斷的完善,也就是架構(gòu)存在的意義。
下面兩個(gè)是好的架構(gòu)師應(yīng)該具備的條件。
右邊那張圖,“抽象思維”和“透過問題看本質(zhì)” 應(yīng)該是架構(gòu)師最頂層的能力,即使你擁有其余的所有能力,但是缺少這兩個(gè)最頂層的能力,寫出來的東西,仍然可能會(huì)產(chǎn)生,我們接下來要看的東西。(接下往下看吧。)
參考鏈接:在首席架構(gòu)師眼里,架構(gòu)的本質(zhì)是……
為什么我看不懂你的代碼
總結(jié)一句話:在你寫代碼的時(shí)候,你的腦子里會(huì)有一個(gè)完整的邏輯模型。你要盡可能的將你腦中的邏輯模型平滑的轉(zhuǎn)化為你寫的代碼,讓你過了一段時(shí)間之后、或者另外一個(gè)人 看到你的代碼(或者根據(jù)注釋),能夠盡可能的重現(xiàn)出你當(dāng)時(shí)寫代碼時(shí)腦海中的邏輯模型。
參考鏈接:為什么我看不懂你的代碼
App架構(gòu)只組件化理解
這個(gè)主要講的是MVP里面的M,因?yàn)閂和P劃分的比較開。
在實(shí)際寫代碼的過程中M往往的相當(dāng)復(fù)雜的。
這一塊其實(shí)是有很多方面可以研究的,最近比較流行的一篇文章:
完美的安卓 model 層架構(gòu)
參考鏈接:App架構(gòu)之組件化理解
大谷歌的一張圖,在Google出的幾個(gè) Android MVP 的案例中,這個(gè)是其中一個(gè)。結(jié)構(gòu)非常清晰。

GitHub地址:todo-mvp-clean/
這里借用了EventBus的圖, 感覺張圖的 MVP 邏輯也挺清晰的,包括M層的封裝。
這里提到了如何正確使用開源項(xiàng)目,也是屬于model層的內(nèi)容。
參考鏈接:如何正確使用開源項(xiàng)目?
Web端架構(gòu)了解
本來還想斗膽討論Web端的架構(gòu),想想真是太天真了。
Web架構(gòu)水太深,可以點(diǎn)進(jìn)鏈接了解一下。
看完之后應(yīng)該是可以總結(jié)出一些東西的:任何架構(gòu)都不是一開始就很完善的,都是隨著公司的發(fā)展,業(yè)務(wù)邏輯的發(fā)展,隨著客戶的需求,當(dāng)前項(xiàng)目無法滿足需求,才開始擴(kuò)展。你不可能從第一步就把第十步的情況都考慮到,那你的項(xiàng)目寫完都不知道要寫什么時(shí)候去了。
所以在寫項(xiàng)目的時(shí)候,用最簡單的辦法去處理當(dāng)前項(xiàng)目的需求,把當(dāng)前的每一個(gè)小功能盡可能的寫的靈活利于擴(kuò)展就可以了。切勿建立太過復(fù)雜的邏輯模型,因?yàn)槟阏娴牟淮_定,以后的項(xiàng)目會(huì)朝著什么方向發(fā)展。你確定你留著所謂的強(qiáng)大的邏輯模型,真的能夠用得上嗎?
當(dāng)然這個(gè)是Web,相比Web來說,移動(dòng)端的結(jié)構(gòu)還真是比較簡單一點(diǎn)。
參考鏈接:大型網(wǎng)站系統(tǒng)架構(gòu)的演化
看到了一篇講MVP的文章,感覺非常不錯(cuò)。對MVP缺點(diǎn)、優(yōu)點(diǎn)的分析,跟我的想法是一致的。
在這里跟大家分享:使用MVP模式重構(gòu)代碼
http://www.itdecent.cn/p/7c4e310da409?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
<br />
<br />
把PPT也分享一下吧,順帶把模板也分享了,我是從模板上改的。
http://pan.baidu.com/s/1bp9dIzX
<br />
同樣歡迎各位,批評指正。
看到不錯(cuò)的關(guān)于 Android 架構(gòu)的文章以后都收集一下放到這。
Android架構(gòu)思考(模塊化、多進(jìn)程)