積分
在講這篇文章之前,作為一個(gè)Android開(kāi)發(fā)者,我們先思考這樣一個(gè)問(wèn)題:
在你使用IDE創(chuàng)建一個(gè)項(xiàng)目的時(shí)候,
你是否在腦海中已經(jīng)存在
一個(gè)完整的應(yīng)用架構(gòu)設(shè)計(jì)規(guī)劃?
在你設(shè)計(jì)的這套系統(tǒng)中,
如何保證系統(tǒng)的穩(wěn)定和兼容?
你的代碼邏輯是否優(yōu)雅?
性能是否得到提高?
如果你正在思考,或是已經(jīng)很熟練了,那么不妨來(lái)看看這一篇文章,本文主要講解在A(yíng)ndroid中的系統(tǒng)架構(gòu)設(shè)計(jì),以一個(gè)簡(jiǎn)單的Android智能分揀柜系統(tǒng)為例。
在這里首先要說(shuō)明一點(diǎn),對(duì)于開(kāi)源社區(qū)一些框架的選擇,一定要選對(duì),選合適的,比如現(xiàn)在比較熱門(mén)的RxAndroid和EventBus,建議大家如果在企業(yè)開(kāi)發(fā)中,特別是產(chǎn)品開(kāi)發(fā),一定不要選擇這兩個(gè)框架,這里說(shuō)一下原因:
RxAndroid的缺點(diǎn)不用多說(shuō),流式開(kāi)發(fā),和線(xiàn)程間的隨意切換,雖然確確實(shí)實(shí)提高了我們的開(kāi)發(fā)效率,但是帶來(lái)的問(wèn)題也很明顯——可讀性變差,代碼耦合極高,原因可以在項(xiàng)目中自己體會(huì)。
接下來(lái)說(shuō)說(shuō)EventBus消息傳遞利器,好用是好用,我在以前項(xiàng)目中也大量用了,后來(lái)公司來(lái)了一個(gè)新的同事,發(fā)現(xiàn)EventBus.getDefault().post(messageEvent),然后...emmmmm這個(gè)消息發(fā)哪兒去了?在哪兒接收的?
所以后面我們開(kāi)發(fā)寧可辛苦一點(diǎn)自己寫(xiě)觀(guān)察者模式去發(fā)送監(jiān)聽(tīng)數(shù)據(jù),也不要再使用EventBus了。這些框架確實(shí)提升了開(kāi)發(fā)效率,但相應(yīng)的增加了后期維護(hù)成本。
在這個(gè)系統(tǒng)中,將整個(gè)APP拆分四層,最核心的數(shù)據(jù)層和通訊層,最高效的組件層和最美麗的UI模塊層,其中組件層在本系統(tǒng)中分為4大塊,包含UI組件,路由組件,系統(tǒng)組件以及外圍組件。
在知道系統(tǒng)的應(yīng)用架構(gòu)后,接下來(lái)我們需要設(shè)計(jì)一些基礎(chǔ)庫(kù),一些封裝類(lèi)來(lái)提高效率,保證質(zhì)量。
接下來(lái)的是網(wǎng)絡(luò)請(qǐng)求,數(shù)據(jù)庫(kù)操作,文件操作,配置存儲(chǔ)等基礎(chǔ)框架設(shè)計(jì)。
模塊化的開(kāi)發(fā)和設(shè)計(jì),在開(kāi)發(fā)過(guò)程中有助于提高后期效率。
最后,對(duì)于功能邏輯的合理規(guī)劃,也是事關(guān)重要,如在智能分揀柜系統(tǒng)中,使用的是平板,主界面用來(lái)展示各種信息,如果全部都在A(yíng)ctivity中處理,那么此類(lèi)一定非常膨脹,后期維護(hù)成本變得極高,故:
因智能分揀柜系統(tǒng)主界面是用來(lái)展示數(shù)據(jù)信息的,所以:
瑪氏中國(guó) | 2025年度國(guó)內(nèi)運(yùn)輸物流服務(wù)【冰淇淋業(yè)務(wù)】
5113 閱讀2025年京東物流貴州大件宅配、京東幫資源招商
2774 閱讀2025年京東物流-河北大件宅配、京東幫資源招商
1826 閱讀“反內(nèi)卷”之后,快遞公司的“護(hù)城河”在哪?
1467 閱讀多多買(mǎi)菜:悶聲增長(zhǎng)
1172 閱讀義烏漲完廣州漲 通達(dá)兔等快遞全年或增收數(shù)十億!
1073 閱讀單品年銷(xiāo)千萬(wàn),新品研發(fā)提速,國(guó)民零食如何借拼多多復(fù)興?
932 閱讀18天抵歐!寧波舟山港迎來(lái)史上最快中歐航線(xiàn)
938 閱讀又出傷人事件!買(mǎi)A退B、簽收訛詐、押金不退……快遞小哥如何避坑?
833 閱讀歐盟《關(guān)鍵原材料法案》:全球資源戰(zhàn)略格局的重大轉(zhuǎn)變及應(yīng)對(duì)策略
842 閱讀