认识MVC模型及其变种
2015-07-17 14:41
232 查看
为解决自治视图的维护问题,根据关注点分离出现了MVC。
Model:应用状态和业务逻辑的封装,我更乐意视之为Domain Model
View:呈现UI与捕捉用户交互动作
Controller:响应用户交互请求,完成UI逻辑
Asp.net MVC就是一种典型的MVC UI架构
MVP是MVC的一个变种,适用于事件驱动的框架。WebForms、WinForm。P,Presenter,只有Presenter能与Model交互,Model不需要主动通知View。MVP也降低了P对V的依赖,依赖于IView。
![](http://images0.cnblogs.com/blog/442694/201507/171435238767960.png)
可见,Presenter与View的交互是MVP应用的核心。
View仅职责数据绑定、事件捕捉send message给Presenter。VP的交互如上图定义,有两点需明确定义
1、Presenter与IView定义的方法都没有返回值。体现为单向的数据流向。P所需的数据可以通过事件参数传递。
2、IView不定义属性。信息要有View通知Presenter发送
Model:应用状态和业务逻辑的封装,我更乐意视之为Domain Model
View:呈现UI与捕捉用户交互动作
Controller:响应用户交互请求,完成UI逻辑
Asp.net MVC就是一种典型的MVC UI架构
MVP是MVC的一个变种,适用于事件驱动的框架。WebForms、WinForm。P,Presenter,只有Presenter能与Model交互,Model不需要主动通知View。MVP也降低了P对V的依赖,依赖于IView。
![](http://images0.cnblogs.com/blog/442694/201507/171435238767960.png)
可见,Presenter与View的交互是MVP应用的核心。
View仅职责数据绑定、事件捕捉send message给Presenter。VP的交互如上图定义,有两点需明确定义
1、Presenter与IView定义的方法都没有返回值。体现为单向的数据流向。P所需的数据可以通过事件参数传递。
2、IView不定义属性。信息要有View通知Presenter发送
相关文章推荐
- 全志a33核心板方案应用
- 12099 - The Bookcase
- Intent的定义及用法
- LeetCode - Majority Element II
- 深入浅出之-route命令实战使用指南
- (4.3.1.8)【项目一】子fragment之imageloader
- Python: Convert UTC time-tuple to UTC timestamp
- 约数之和
- WebSocket使用中碰到的问题以及解决方法
- linux 任务管理器
- Android 使用SpannableString显示复合文本
- Linux查看目录挂载点
- 查看网络图片
- Python的Django框架中设置日期和字段可选的方法
- GRE写作必备句型
- 安卓开发笔记——关于图片的三级缓存策略(内存LruCache+磁盘DiskLruCache+网络Volley)
- Swagger+Spring MVC框架学习分享
- Android搭建本地服务
- thread
- ElasticSearch