关于mvc、mvp和mvvm的理解
參考文章1:blog.csdn.net/chun_long/a…
參考文章2:blog.csdn.net/napolunyish…
(1)MVC框架:
- M-Model : 業務邏輯和實體模型(biz/bean)
- V-View : 布局文件(XML)
- C-Controller : 控制器(Activity)
? ? 缺點:很多交互邏輯在C在處理,導致項目中C的代碼臃腫。
(2)MVP框架:
- M-Model : 業務邏輯和實體模型(biz/bean)
- V-View : 布局文件(XML)和Activity
- P-Presenter : 完成View和Model的交互
? ? 過程:MVP框架相對于MVC框架做了較大的改變,將Activity當做View使用,代替MVC框架中的C的是P,對比MVC和MVP的模型圖可以發現變化最大的是View層和Model層不在直接通信,所有交互的工作都交由Presenter層來解決。既然兩者都通過Presenter來通信,為了復用和可拓展性,MVP框架基于接口設計。
? ?缺點:
(3)MVC框架:
? ? 過程:MVP框架相對于MVC框架做了較大的改變,將Activity當做View使用,代替MVC框架中的C的是P,對比MVC和MVP的模型圖可以發現變化最大的是View層和Model層不在直接通信,所有交互的工作都交由Presenter層來解決。既然兩者都通過Presenter來通信,為了復用和可拓展性,MVP框架基于接口設計。
? ? 優點:
? ? 1. 可重用性。你可以把一些視圖邏輯放在一個ViewModel里面,讓很多View重用這段視圖邏輯。?
? ? 2. 低耦合。
(4)共同點和區別
共同點:
? ? 三者的差異在于如何粘合View和Model,實現用戶的交互操作以及變更通知。
MVP和MVVM完全隔離了Model和View,但是在有些情況下,數據從Model到ViewModel或者Presenter的拷貝開銷很大,可能也會結合MVC的方式。
轉載于:https://juejin.im/post/5aead36c5188256717762538
總結
以上是生活随笔為你收集整理的关于mvc、mvp和mvvm的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: robot framework安装
- 下一篇: 日志服务(Log service)4月控