Android設計模式
阿新 • • 發佈:2018-12-15
MVC設計模式
1.定義
M(Model):業務邏輯處理。暴露方法介面供C層呼叫。資料庫操作,網路操作等耗時操作 V(View):處理資料處理。處理資料顯示,XML佈局可以視為View層 C(Controller):Activity處理使用者互動。讀取資料給View層顯示
2.特點:耦合性低
便於UI介面顯示和業務邏輯分離。 使專案有很好的擴充套件性(只需要在M層中新增對應的介面和方法)和維護性。
那通過什麼解耦呢??答:介面
MVP設計模式
MVP 模式將 Controller 改名為 Presenter,同時改變了通訊方向。
1.定義
View:對應Activity,負責View的繪製和使用者的互動。(與MVC的區別) Presenter:處理View層和Model層的互動,抽離了Activity的業務邏輯,抽離複雜程式碼。 Model:業務邏輯和實體模型
2.解釋
-
各部分之間的通訊,都是雙向的。
-
View 與 Model 不發生聯絡,都通過 Presenter 傳遞。
-
View 非常薄,不部署任何業務邏輯,稱為"被動檢視"(Passive View),即沒有任何主動性,而 Presenter非常厚,所有邏輯都部署在那裡。
3.特點:耦合性更加低
抽離出Activity中的邏輯處理進Presenter層,耦合性低。
那通過什麼解耦呢??答:介面