關(guān)于clean架構(gòu)的思考

MVP不好嗎?

  1. V:界面相關(guān)(界面的展示,用戶操作的觸發(fā))
  2. M:數(shù)據(jù)相關(guān)(基本數(shù)據(jù)的定義,數(shù)據(jù)的處理:增刪該查)
  3. P:中介(是在M和V之間的中間商。拿到M給的數(shù)據(jù),再小小的處理下,最后交給V)

從以上可以看出,mvp的邏輯還是很清楚的嘛!有哪里可以做的更好呢?

從P層扮演的中間商下手:
比如這樣的一個(gè)情況:
M層:從網(wǎng)絡(luò)獲取到了一堆新聞數(shù)據(jù)
P層:將M層獲取到的數(shù)據(jù)過(guò)濾一下(過(guò)濾掉不健康的信息)
V層:顯示P層過(guò)濾后的信息

我們可以將P層的將M層獲取到的數(shù)據(jù)過(guò)濾一下(過(guò)濾掉不健康的信息)
這個(gè)邏輯抽取出來(lái),做成一個(gè)單獨(dú)的模塊!相當(dāng)于這個(gè)商業(yè)邏輯獨(dú)立了,針對(duì)這個(gè)邏輯,我們可以肆意的虐待他,比如測(cè)試(因?yàn)槭莻€(gè)單獨(dú)的模塊了,所有非常方便測(cè)試)!

將商業(yè)邏輯抽象

抽象:

抽象說(shuō)的太玄乎了,其實(shí)就是考慮將商業(yè)邏輯封裝成類(lèi)!
比如對(duì)人的相關(guān)信息可以封裝成Person,在clean架構(gòu)里,我們將商業(yè)邏輯封裝成UseCase

所謂商業(yè)邏輯其實(shí)就是:

針對(duì)你給的數(shù)據(jù)--->處理--->處理完成后的數(shù)據(jù)交出來(lái)

綜上:我們的UseCase就是如下啦:

UseCase

針對(duì)某個(gè)功能,你對(duì)P的分解,可以寫(xiě)出好幾個(gè)usecase啦:


限于篇幅,針對(duì)具體的UseCase的實(shí)現(xiàn),我就不細(xì)說(shuō)了,很簡(jiǎn)單的,你們細(xì)看。
這個(gè)例子的地址:
https://github.com/android10/Android-CleanArchitecture

其它

你現(xiàn)在有一堆商業(yè)邏輯啦,一般商業(yè)邏輯的處理在后臺(tái)執(zhí)行,而處理后的結(jié)果需要切換到主線程。(Ok,我們有RxJava,很方便的來(lái)完成這個(gè))

現(xiàn)在,我們用UseCaseHandler來(lái)解決這個(gè)問(wèn)題:(大同小易,可看可不看)
代碼我就補(bǔ)貼了,代碼地址在:
https://github.com/android10/Android-CleanArchitecture

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評(píng)論 25 708
  • 作為一個(gè)成年人,我應(yīng)該為我的一切負(fù)責(zé)。今天因?yàn)楣べY的事情,我和老板攤牌,他發(fā)給我的工作比我之前說(shuō)的少了500...
    我是dolly閱讀 241評(píng)論 0 1
  • 第一次參加自控力,沒(méi)有報(bào)寫(xiě)作營(yíng),結(jié)果打卡稀稀拉拉,很難堅(jiān)持。 因?yàn)闆](méi)有一個(gè)固定的輸出時(shí)間和輸出的平臺(tái),沒(méi)有從一個(gè)旁...
    米粒粒1閱讀 288評(píng)論 2 2
  • 第七章乞巧之夜(2) 鐘離楠獨(dú)自坐在風(fēng)雨閣中,心里隱隱有些不快,宮宴上太后母子的算計(jì)讓他沒(méi)有了繼續(xù)宮宴的興致,想來(lái)...
    岳椿麗閱讀 235評(píng)論 0 0
  • 她的聲音軟軟甜甜,她的臉蛋如雪般白嫩,她的唇如櫻桃般紅潤(rùn),他動(dòng)心了,也心軟了,好,看在你的面子上,我饒了他。他一改...
    王二狗打小怪獸閱讀 975評(píng)論 0 1

友情鏈接更多精彩內(nèi)容