1,MVC
MVC 即 Model View Controller(模型 视图 控制器)
① View 上面显示什么东西,取决于 Model。
② Model 数据改了,View 的显示状态会跟着更改。
③ Control 负责初始化 Model,并将 Model 传递给 View 去解析展示。
解释:其实可以想象写mvc时整个控制器的顺序,以控制器为中心,进行网络请求,用model接收网络请求的数据,然后model通知控制器,控制器将model给到view去刷新控制器上创建的view,view上进行操作,比如点击,用委托的方式交给控制器,控制器再去改变model,而view和model一般都是隔离的。
controller协调model和view,不只一个model和view,所以会愈发笨重臃肿,测试困难,单元测试更不可行
2,MVVM
MVVM 即 Model View ViewModel(模型 视图 视图模型)
① View 上面显示什么东西,取决于 Model。
② Model 数据改了,View 的显示状态会跟着更改。
③ ViewModel放逻辑,网络请求处理
解释:Controller持有View和ViewModel,Controller和View里不涉及Model,ViewModel持有Model
使用 MVVM 会轻微的增加代码量,但总体上减少了代码的复杂性,易于测试
网友评论