MVC与MVVM模式的对比

来源:互联网 发布:淘宝怎么买weed叶子 编辑:程序博客网 时间:2024/05/18 15:24
MVC的优点:(1)可定制性
(2)代码清晰,便于维护
(3)测试友好性
(4)轻量级
(5)开源
缺点:
大量的代码被放在viewController,加重了viewControoller的负担
网络代码放在model,view,viewController中的哪一个都不合适
MVC
的另一个大问题是,它不鼓励开发人员编写单元测试,由于view controller混合了视图处理逻辑和业务逻辑,分离这些成分的单元测试成了一个艰巨的任务。大多数人选择忽略这个任务,那就是不做任何测试。

MVVM:
(1)view和对应的controller都紧紧的耦合在一起,总之,还是会把它们当成一个组件来对待,于是我们引出MVVM,它正式规范了视图和控制器紧耦合的性质.
(2)view model是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求,保存数据和其他各种各样的代码的极好的地方,有一件事情不应归入view model,那就是任何视图本身的引用。换句话说,不要在view model中使用#import UIKit.h
(3)使用MVVMiOS app是高度可测试的;因为view model包含了所有的展示逻辑并且不会引用view,所以它可以通过编程方式充分测试

所以,使用MVVM会轻微的增加代码量,但总体上减少了代码的复杂性。这是一个划算的交易。
0 0
原创粉丝点击