mvp,mvvm都是从mvc 延伸过来了 都是为了解决耦合性的
两个类间的耦合性解决:delegete,block,通知
mvc
你中有我我中有你
耦合性较高
控制器任务繁重:delegete,action,model数据,view布局
mvp 协议时编程
vc命令p请求数据,p命令m请求数据返回给p,v准守p协议实现方法更改ui,
v产生事件命令p请求数据,p命令m请求数据返回给p,v准守p协议实现方法更改ui
presenter中介者 中转站 将view和model及controller之间的交互交由presenter处理,presenter通过协议与view进行交互,通过接口与controller交互
mvvm 响应式编程
view vm 双向绑定 kvo或者rac
view产生的事件 通过接口传递给vm ,vm改变数据
view通过kvo观察vm持有的model的数据变化 来更改view
网友评论