iOS中的MVC和MVVM
发布网友
发布时间:2022-09-10 13:59
我来回答
共1个回答
热心网友
时间:2023-01-24 11:19
MVC的实现思路是:用户操作View,在Controller层完成业务逻辑处理,更新Model层,将数据显示在View层。
在MVC中,每个层之间都有关联,耦合比较紧,在大型项目中,维护起来比较费力。
View把控制权交给Controller层,自己不执行业务逻辑;Controller层执行业务逻辑并且操作Model层,但不会直接操作View层;View和Model层的同步消息是通过观察者模式进行,而同步操作是由View层自己请求Model层的数据,然后对视图进行更新,观察者模式可以做到多视图同时更新。
Person.h
Person.m
TestView.h
TestView.m
ViewController.m
MVVM和MVP的最大区别是采用了双向绑定机制,View的变动,自动反映在ViewModel上。
MVVM结构如图:
模型层:
Person.h
Person.m
视图层:
TestView.h
TestView.m
PersonViewModel.h
PersonViewModel.m
ViewController.m