之前一直使用的是MVP模式进行代码开发,但是发现MVP代码量有些大所以本着能省则省的原则学习了一下MVVM模式➕ARC 开发来减少代码量。
一 关于MVC MVVM 分析
MVC是苹果官方推荐使用的架构模式,结构如下:

没啥可说的~不会的自行百度去----重点说的是MVVM架构:

MVVM与MVC最大的区别就是多了个viewmodel层(哈哈哈--别打我表情--),viewmodel将MVC中没有具体说明的网络逻辑进行了安排,也负责了一些view点击事件逻辑处理(双向绑定),减轻了controller的压力。
实际使用(初级阶段)(这里测试创建一个button及相关处理)
model 还是与之前差不都只是定义属性就可以了
。h文件
@property (nonatomic,copy)NSString *nameText;
viewmodel 文件
需要绑定model文件并且实现view上面的点击事件


view 负责创建view 并创建绑定viewmodel 方法


controller 负责页面跳转及初始化等等一些逻辑

其实 MVC 还是MVVM 或者是MVP 本质都是让我们更容易理解代码让我们能够轻松应对每一种场景,至于实际使用哪种模式,个人感觉结合项目具体逻辑比较好~
小白多指教~
end
网友评论