架構是以元件、元件之間的關係、元件與環境之間的關係為內容的某一系統的基本組織結構,以及指導內容涉及與演化的原理。
(1)架構解決了怎樣的問題,當前架構需要解決什麼問題才被建立並利用。也就是架構存在的意義。
(2)架構模式是怎麼樣劃分角色的,架構中往往通過不同的角色劃分來實現解耦,不同的架構模式也就是利用不同劃分角色的規則來實現架構的基本思想。
(3)角色之間是如何建立通訊的,角色之間的通訊理解為資料流向,android中,資料流向主要分為兩類,第一類就是資料結構,也就是網路請求的處理、另一類就是事件,也就是控制項產生的動作。
對於android開發者來說,常見的架構模式基本上就是三種,分別是mvc、mvp、mvvm。
1.mvc模式解決的問題:控制邏輯、資料處理邏輯與頁面互動耦合。
model:負責資料的載入與儲存。
view:負責介面的展示。
controller:負責控制邏輯。
優點:結構清晰、職責劃分清晰,降低耦合、有利於元件重用。
缺點:增加了**的複雜性。
mvp模式解決的問題:控制邏輯、資料處理與頁面互動耦合,同時將mvc中的view和model解耦。
model:負責資料的載入與儲存。
view:負責頁面的展示。
presenter:負責控制邏輯。
presenter充當中間人的作用,與model和view進行資料互動,將view與model串聯起來。
優點:結構清晰、職責劃分清晰、模組之間充分解耦、有利於元件重用。
缺點:引入大量的介面,檔案數量激增、增加**的結構複雜性。
三、mvvm架構模式
mvvm要解決的問題是:控制邏輯、資料處理邏輯與頁面互動耦合,並且同時能將mvc中的view和model解耦,還可以吧mvp中的presenter和view解耦。
model:負責資料的載入和儲存。
view:負責頁面的展示。
viewmodel:負責邏輯控制。
mvvm的資料流向:view產生的事假,自動通知給viewmodel,viewmodel中進行邏輯處理後,通知model更新資料,model更新資料後,通知資料結構給viewmodel,viewmodel自動通知view更新頁面。
有點:結構清晰、職責劃分清晰、模組間充分解耦、在mvp的基礎上,mvvm把view 和viewmodel也進行了解耦。
缺點:debug困難,**的複雜性大。
Android中架構模式 MVC
參考 android當中的mvc m 資料庫層,資料模型層,網路請求管理,資料儲存類的東西,都可以屬於m層,簡單點理解就是資料層,或者叫基礎層。v 這一層在android當中其實是xml,也就是res資源檔案下的layout們。可不是activity。c 這一層在android當中才是activit...
MVC 架構模式
mvc架構模式 模型 檢視 控制器 model view controller 模型 模型代表應用程式的資料以及用於訪問控制和修改這些資料的業務規則,當模型發生改變時,它會通知檢視,並為檢視提供查詢模型相關狀態的能力.同時,它也為控制器提供訪問封裝在模型內部的應用程式功能的能力.檢視 檢視用來組織模...
常用架構模式
根據維基百科中的定義 架構模式是乙個通用的 可重用的解決方案,用於在給定上下文中的軟體體系結構中經常出現的問題。架構模式與軟體設計模式類似,但具有更廣泛的範圍。在本文中,將簡要地解釋以下10種常見的體系架構模式,以及它們的用法 優缺點。分層模式 客戶端 伺服器模式 主從裝置模式 管道 過濾器模式 模...