開(kāi)發(fā)APP怎做好架構(gòu)設(shè)計(jì)工作?深圳APP開(kāi)發(fā)公司工程詳解什么是三層架構(gòu),我們都知道軟件的本質(zhì)是對(duì)數(shù)據(jù)的處理,根據(jù)在數(shù)據(jù)處理過(guò)程中所扮演的不同角色,常見(jiàn)的三層架構(gòu)從上到下依次為展現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層,如表11-1所示。
表11-1層次職責(zé)設(shè)計(jì)原則展現(xiàn)層向用戶展現(xiàn)特定業(yè)務(wù)數(shù)據(jù),接收用戶的輸入信息和操作用戶至上,兼顧簡(jiǎn)潔;不包含與任何業(yè)務(wù)相關(guān)的邏輯處理業(yè)務(wù)邏輯層從業(yè)務(wù)邏輯層中獲取數(shù)據(jù),在展現(xiàn)層顯示;從展現(xiàn)層中獲取用戶指令和數(shù)據(jù),執(zhí)行業(yè)務(wù)邏輯或通過(guò)業(yè)務(wù)邏輯層寫(xiě)入數(shù)據(jù)源作為展現(xiàn)層與業(yè)務(wù)邏輯層的橋梁,負(fù)責(zé)數(shù)據(jù)處理傳遞
與MVC和MVP中各部分的對(duì)應(yīng)關(guān)系如表11-2所示。
除了這三層功能模塊外,軟件中通常還包括實(shí)體類功能模塊及
輔助類功能模塊,可以被多個(gè)層使用,但它們不屬于任何一個(gè)層,而是獨(dú)立存在的。還有許多集成的第三方功能模塊,也是獨(dú)立存在的。
開(kāi)發(fā)APP關(guān)于View層設(shè)計(jì)
Android應(yīng)用的View層包括Activity和Fragment等UI相關(guān)的類和接口。分為兩大功能模塊:接口模塊和功能模塊。此功能模塊的代碼文件有以下兩種管理方式。按類型分類,如圖11-1所示。
按功能分類,如圖11-2所示。
開(kāi)發(fā)公司建議按第二種方式管理文件,以方便查找與一個(gè)功能相關(guān)的所有文件。轉(zhuǎn)移邏輯操作之后,可能部分較為復(fù)雜的Activity包含的代碼量還是不少,可以在分層的基礎(chǔ)上再加入模板方法(TemplateMethod),具體做法是在Activity內(nèi)部分層,其中最頂層為BaseActivity,實(shí)現(xiàn)一些各Activity需要的公共功能,并針對(duì)各模塊的Activity需要獨(dú)立實(shí)現(xiàn)的功能提供接口,各模塊的Activity繼承BaseActivity,重寫(xiě)B(tài)aseActivity預(yù)留的方法;如有必要再進(jìn)行
二次繼承,APP中Activity之間的繼承次數(shù)最好不要超過(guò)3次。Fragment也可按同樣的方式處理。在MVP架構(gòu)中,Activity和Fragment會(huì)把業(yè)務(wù)邏輯的處理交給Presenter層,所以需要持有相應(yīng)Presenter的引用。對(duì)一些簡(jiǎn)單的業(yè)務(wù)邏輯,如對(duì)用戶輸入的數(shù)據(jù)做校驗(yàn),可放在View層處理,而當(dāng)需要對(duì)數(shù)據(jù)進(jìn)行更復(fù)雜的處理時(shí),如解析從服務(wù)器獲得的數(shù)據(jù),則放在Presenter層處理。好了,APP開(kāi)發(fā)公司本文關(guān)于“開(kāi)發(fā)APP怎做好架構(gòu)設(shè)計(jì)工作?”的設(shè)計(jì)經(jīng)驗(yàn)與知識(shí)就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。