MVC与MVVM模式的对比
来源:互联网 发布:淘宝怎么买weed叶子 编辑:程序博客网 时间:2024/05/18 15:24
MVC的优点:(1)可定制性
(2)代码清晰,便于维护
(3)测试友好性
(4)轻量级
(5)开源
(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)使用MVVM的iOS app是高度可测试的;因为view model包含了所有的展示逻辑并且不会引用view,所以它可以通过编程方式充分测试
大量的代码被放在viewController,加重了viewControoller的负担
网络代码放在model,view,viewController中的哪一个都不合适
MVC的另一个大问题是,它不鼓励开发人员编写单元测试,由于view controller混合了视图处理逻辑和业务逻辑,分离这些成分的单元测试成了一个艰巨的任务。大多数人选择忽略这个任务,那就是不做任何测试。
MVVM:
(1)view和对应的controller都紧紧的耦合在一起,总之,还是会把它们当成一个组件来对待,于是我们引出MVVM,它正式规范了视图和控制器紧耦合的性质.
(2)view model是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求,保存数据和其他各种各样的代码的极好的地方,有一件事情不应归入view model,那就是任何视图本身的引用。换句话说,不要在view model中使用#import UIKit.h
(3)使用MVVM的iOS app是高度可测试的;因为view model包含了所有的展示逻辑并且不会引用view,所以它可以通过编程方式充分测试
所以,使用MVVM会轻微的增加代码量,但总体上减少了代码的复杂性。这是一个划算的交易。
0 0
- MVC与MVVM模式的对比
- MVC设计模式和MVVM设计模式的对比
- MVVM与MVC设计模式
- MVC、MVVM和单向数据流的对比
- MVC设计模式和MVVM设计模式的理解及对比
- iOS的MVC、MVVM模式
- MVVM模式及与MVP和MVC的区别
- 架构模式 MVC、MVP、MVVM 的区别与联系
- MVVM设计模式与MVC模式
- mvc与mvvm的爱恨情仇
- MVC与MVVM设计模式理解
- MVC模式、MVVM模式
- Android 基于MVC的MVVM模式开发
- MVC,MVP,MVVM设计模式的比较
- MVC/MVP/MVVM等模式的基本概念
- MVC、MVP、MVVM模式的区别
- MVC MVP MVVM模式的浅谈
- MVC和MVVM模式的区别
- 工厂模式
- Java从文件中读取字节数据的固定套路
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(01背包,多重背包)
- Android的5种布局(实际4种)
- Docker安装与配置
- MVC与MVVM模式的对比
- javascript对象
- 12、css3 2D变换
- IO/NIO 例子
- MFC利用OpenCV读取摄像头
- Ubuntu安装Kali Linux渗透测试工具
- 对oracle PL/SQL Developer配置instantclient
- uva216 Getting in Line
- Balanced Binary Tree